简介
模块是一组发布和版本化为单个单元的 Go 包。modules是源代码交换和版本控制的单元。go命令直接支持使用modules,包括记录和解析对其他模块的依赖性。modules替换旧的基于GOPATH的方法来指定在给定构建中使用哪些源文件。
go mod 是 Go 编程语言中用于管理模块依赖关系的一个命令。
go mod 允许您轻松地在 Go 项目中添加、删除和更新依赖项,以及管理依赖项的版本,以确保兼容性和可重复性。
go modules 可以理解为 maven / gradle 等工具
使用
在使用 go mod 前,需要在项目目录下执行 go mod init <name> 命令来初始化模块。
例如,我们以项目 star-im 为例进行初始化,在项目根目录(star-im/)中执行
1 | go mod init star-im |
会在根目录生成一个 go.mod 的文件来进行包依赖的管理,其中会包含我们所需要的依赖及版本内容,此外某些依赖后面会有 indirect
字样,表示该依赖为传递依赖,也就是非直接依赖。
其他命令如:
1 | go mod <command> |
比较常用的是 init, tidy, edit ,当我们引入依赖包的之后,可以使用 go mod tidy
来命令来整理依赖模块。其他更多内容可参考:go mod使用 | 全网最详细 或者参考官方文档
可以使用命令 go list -m -u all来检查可以升级的package
依赖包仓库地址:https://pkg.go.dev/(相当于maven的 https://mvnrepository.com/),搜索需要的依赖包可以访问此链接,里面也包含了依赖包的使用事项等。
目前 go web 似乎没有比较成型的 web 开发标准,因此我沿用了 Java 的习惯
在根目录中新增 src 目录,以及 main、resource、test 三个下级目录,用于存放主要程序文件、资源设置文件、测试文件。
1 | star-im |


