什么是Golang工具链
golang语言提供非常强大的工具链,也就是其相关命令。包括编译、测试、重构代码、文档、从github中pull第三方库等。
在安装了go的环境中输入go命令,我们即可看见其工具链:
go build命令
go build 命令常用于将Go文件编译成相应平台的可执行文件
go build 主文件名,编译成功后就会自动一个可执行文件,也可以使用自定义编译的方式如下:
GOOS=windows GOARCH=amd64 go build main.go
- GOOS:表示系统名称的缩写(linux/mac/windows)
- GOARCH:表示系统位数(amd64)
go install命令
go install与go build最大的不同在于,go install编译后会输出文件打包成库放到pkg文件下,下次使用的时候不再进行编译,方便使用
go get命令
go get命令表示获取第三方包,默认从github中pull第三方库或者项目到自己的GOPATH目录下
通过使用:go get 项目网站/作者/项目名
以Gin Web框架为例:go get -u github.com/gin-gonic/gin
-u:表示使用最新的包,重复的文件不更新
-v:表示显示操作流程的日志及信息
go fmt命令
go fmt命令类似于C的lint,但是lint只会检查问题,使用go fmt命令后,会将代码格式化,且显示格式化了哪些文件,统一代码风格,方便维护
go test命令
go test命令用于测试和验证代码的完整性
go test文件一般以xxxx_test命名
使用go test 命令时,将xxxx_test.go结尾和Test开头的函数都自动执行,否则go test会直接跳过该测试用例不执行
TestXXX测试用例需要传入*testing.T或b *testing.B(测试性能)作为参数
创建xxxx_test.go文件
go run命令
编译并执行go文件
需要注意的是该文件package 为main包,并且存在main()主函数,否则出现 cannot run non-main package错误信息,无法编译运行
go env命令
查看当前go的环境变量等信息
go version
查看当前golang的版本