
go包管理
专门开一篇来讲,因为需要注意的点还是挺多的。
你需要注意的是,
- 同一个文件夹下,package的名字要一样。(不一样则会编译报错)
- 入口文件一般都在根目录下,并且package名字一定是main,并且只有一个
main()
入口函数 - 其他子文件夹的package名字最好和文件夹名字保持一致。(不强求)
- 每个项目都需要一个mod文件,mod文件中定义了模块的模块名,其他文件引入的话,同package直接引入,但是需要注意,要大写!!!大写表示public
- 引入不同包的函数,需要这样导入
"your-module-name/web"
(替换 your-module-name 为你实际在 go.mod 中定义的模块名)
多文件引用执行
比如demo文件夹下有两个文件,main.go 和 test.go , main.go要引入test.go文件的方法。需要在goland中稍微配置一下,不然会报错,或者用命令行运行。
在Go语言中,同一个包(package main)下的多个文件在编译时会被视为同一个模块,但必须同时指定所有文件进行编译
用命令行的方式
shell
# 编译并运行(推荐)
go run main.go test.go
或者 , 但是需要注意的是,window下不支持通配符语法,你需要在git命令行环境下执行才可以。。。
shell
go run *.go
在goland中配置
选目录和软件包都可以
依赖下载
依赖下载位置: $GOPATH/pkg/mod
添加依赖: 直接在代码中 import 然后运行 go mod tidy
版本控制: 使用 go get package@version 指定版本
常用命令
命令 | 描述 |
---|---|
go mod init | 初始化新模块 |
go mod tidy | 添加缺失和移除未使用的模块 |
go clean -modcache | 清理依赖缓存 |
go get | 添加依赖或升级依赖版本 |
go list -m all | 列出所有依赖 |
go mod verify | 验证依赖完整性 |
go mod graph | 显示依赖图 |
版本控制
shell
# 获取特定版本
go get github.com/gin-gonic/gin@v1.8.1
# 获取最新版本
go get github.com/gin-gonic/gin@latest
# 升级所有依赖
go get -u ./...