在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
go mod可以使项目从GOPATH的强制依赖中独立出来,也就是说你的项目依赖不再需要放在在GOPATH下面了,每个工程的依赖包、版本可由当前工程独立管理!
当前目录在GOPATH/src之外且该目录包含go.mod文件 mod操作记录 export GO111MODULE=on go mod init github.com/mutex73/ga
go.mod如何在项目中使用? PS:go.mod文件一旦创建后,它的内容将会被go toolchain全面掌控。go toolchain会在各类命令执行时,比如go get、go build、go mod等修改和维护go.mod文件。 go.mod 提供了module, require、replace和exclude四个命令 module语句指定包的名字(路径)
go mod init + 模块名称 初始化模块 即go mod init hello
运行完之后,会在当前目录下生成一个go.mod文件,这是一个关键文件,之后的包的管理都是通过这个文件管理。 官方说明:除了go.mod之外,go命令还维护一个名为go.sum的文件,其中包含特定模块版本内容的预期加密哈希 注意:子目录里是不需要init的,所有的子目录里的依赖都会组织在根目录的go.mod文件里
export GO111MODULE=on 1、go mod init newapp 可以手动增加依赖go.uber.org/atomic v1.4.0或者让go自动发现和维护,下面build中会自动发现依赖包 2、go build main.go vendor_test.go文件中增加了import "go.uber.org/zap"的语句,IDE提示报错,执行build后依赖包记录在go.mod中
3、go mod download 依赖包会自动下载到$GOPATH/pkg/mod,多个项目可以共享缓存的mod
4、go mod vendor 从mod中拷贝到项目的vendor目录下,这样IDE就可以识别了!
|
请发表评论