蒲东平的博客
Go语言设计模式:使用Option模式简化类的初始化 Go语言设计模式:使用Option模式简化类的初始化
在面向对象编程中,当我们需要创建一个构造参数众多的类时,不仅使得代码难以阅读,而且在参数较多时,调用者需要记住每个参数的顺序和类型,这无疑增加了使用的复杂性,代码往往变得难以管理。 Go 语言虽然不支持传统意义上的类,但我们也可以使用结构体
2024-07-09
Go 语言性能优化技巧 Go 语言性能优化技巧
在软件开发中,性能往往是我们需要特别关注的方面之一。对于使用 Go 语言的开发者而言,如何编写高性能的代码是一个重要的考虑点。 今天,我将分享一些在 Go 语言开发中可以采取的性能优化策略,希望能帮助大家写出更高效的程序。 数字与字符串的转
2024-07-09
聊聊 Go 中的单例模式 聊聊 Go 中的单例模式
单例模式在软件开发中是一种常见的设计模式,用于确保一个类在任何情况下都仅有一个实例,并提供一个访问它的全局访问点。 在 Go 语言中,实现单例模式通常有两种方式:饿汉式 和 懒汉式。 今天,我们就来详细了解这两种实现方式,并通过简单易懂的代
2024-07-08
Go 项目自动重载解决方案 —— Air 使用入门 Go 项目自动重载解决方案 —— Air 使用入门
在开发 Go 应用程序时,我们经常需要重启应用来加载最新的代码更改。这个过程虽然简单,但重复的操作会降低我们的开发效率。 今天,我们要介绍的工具 —— Air, 就是为了解决这个问题而生的。 下面,我们将一步步介绍如何使用 Air 来实现
2024-07-08
使用 Makefile 管理和部署 Go 项目 使用 Makefile 管理和部署 Go 项目
在软件开发的世界里,自动化是提升效率的关键。Makefile 尽管是一个历史悠久的工具,但它在任务管理和自动化方面的能力依然不可小觑。 对于 Go 语言项目来说,利用 Makefile 来管理和自动化构建、部署过程能极大地简化开发流程。本文
2024-07-05
Go 基础数据类型 Go 基础数据类型
Go 基础数据类型对于浮点类型需要被自动推导的变量,其类型将被自动设置为 float64,而不管赋值给它的数字是否是用 32 位长度表示的在实际开发中,应该尽可能地使用 float64 类型,因为 math 包中所有有关数学运算的函数都会要
2024-05-09
Go语言中init 函数、变量、常量的执行顺序 Go语言中init 函数、变量、常量的执行顺序
init 函数、变量、常量的执行顺序 假如 main 引入了 pkg1 最终依赖于 pkg3,pkg3 中的 init() 方法会优先被执行; 同一个包里,单文件的情况,init() 优先于其他方法执行,包括 main(); 同一个包里的
2024-05-09
分享几个Go Slice 技巧,大大提高工作效率! 分享几个Go Slice 技巧,大大提高工作效率!
声明一个数组 var arr = [10]int{1, 2, 3, 4, 5, 6, 7, 8, 9, 10} // 让编译器统计数组字面值中元素的数目 var arr1 = [...]int{1, 2, 3, 4, 5, 6, 7, 8,
2024-05-09
一起来看看如何在Go中使用Swagger? 一起来看看如何在Go中使用Swagger?
Swagger go 的使用http 服务安装 go get -u github.com/swaggo/swag/cmd/swag@v1.7.8 go get -u github.com/swaggo/gin-swagger@v1.3.3
2024-05-09
如何同时安装多个不同版本的Go?GVM就可以! 如何同时安装多个不同版本的Go?GVM就可以!
GVM 安装过程中,如果遇到了错误,还是直接先访问仓库地址看看文档介绍,可能解决得更快。 安装并使用bash < <(curl -s -S -L https://raw.githubusercontent.com/moovwe
2024-05-09
Golang中遇到“note module requires Go xxx”后的解决方案,不升级Go版本! Golang中遇到“note module requires Go xxx”后的解决方案,不升级Go版本!
前几天,需要对一个两年前写的项目添加点儿新功能,需要用到一个 Http 客户端包,于是就用了 https://github.com/go-resty/resty 这个插件包。 我先是直接在项目根目录下执行了以下包的安装命令: go get
2024-04-14
Go 打包和部署 Go 打包和部署
Go 打包和部署打包相关命令 命令 含义 go run 编译并马上运行 go 程序(只接收 main 包下的文件作为参数) go build 编译指定的源文件、软件包及其依赖项,但它不会运行编译后的二进制文件。(如果想要指定所
2022-11-26
2 / 3