Go模块开发
编写一个包
编写一个 Go 包主要包括以下几个步骤
创建包目录
在 GOPATH 或者 Go 模块的工作目录下创建一个新的目录,作为我们的包的根目录。
编写代码
在包目录下创建一个或多个 .go
文件,并编写代码。这些文件中通常包含结构体、函数、方法等定义。
添加文档注释
对于包中的每个公开的(大写字母开头)函数、方法和类型,添加相应的文档注释,以便其他人能够理解和使用我们的包。
编写测试代码
在与包代码相同的目录下创建 _test.go
文件,编写测试代码来测试包中的函数、方法的正确性。
使用命名约定
遵循 Go 语言的命名约定,包名应该简短、清晰,并且能够准确地描述包的功能。
模块化管理
如果使用 Go 模块进行包管理,可以使用 go mod init
命令初始化一个新的 Go 模块,并将包代码放在该模块下。
引用一个包
引用一个已经存在的 Go 包可以通过以下几种方式实现
使用 import 语句
在代码中使用 import
语句引入我们想要使用的包。例如
import "fmt"
使用 import 别名
可以使用别名来引入包,以避免名称冲突。例如
import myfmt "fmt"
使用点操作符
可以使用点操作符来直接访问包中的函数和方法,而不需要使用包名。例如
import . "fmt"
使用空白标识符
如果只是为了执行包中的初始化代码而不使用包中的其他功能,可以使用空白标识符 _
来引入包。例如
import _ "github.com/pkg/errors"
引用一个包后,我们就可以在我们的代码中使用该包提供的函数、方法和类型了。
go mod的使用
Go模块(Go Modules)是自Go ### 11版本引入的一种依赖管理的方式,用于管理项目的依赖项。它通过将依赖项的版本信息和代码存储在项目的特定目录中,以及在项目根目录下添加go.mod
文件来实现。
使用Go模块的一般步骤
启用Go模块
确保Go版本高于### 11,并且在环境变量GO111MODULE
设置为on
。这可以确保Go命令行工具将使用模块模式。
export GO111MODULE=on
或者在Go ### 13及更高版本中,这一步通常是默认启用的,无需手动设置。
初始化模块
在项目根目录下执行go mod init
命令来初始化模块。