Go_常用命令
Go build / install /clean /fmt /doc /get /test
本文主要介绍了以上几种GO常用命令
go build-编译go文件
- go build 只会编译main包下的go 文件,不会编译普通包
- go build 编译main包下文件,会在当前目录下生成一个可执行文件。如果需要在$GOPATH/bin木下生成相应的exe文件,需要执行go install 或者使用 go build -o 路径/a.exe。
- go build 默认编译当前目录下所有go文件,加上文件名 可单独编译一个文件。
- go build 会忽略目录下以”_”或者”.”开头的go文件。
- 如果你的源代码针对不同的操作系统需要不同的处理,那么你可以根据不同的操作系统后缀来命名文件。例如有一个读取数组的程序,它对于不同的操作系统可能有如下几个源文件:
1 | array_linux.go |
go build的时候会选择性地编译以系统名结尾的文件(Linux、Darwin、Windows、Freebsd)。例如Linux系统下面编译只会选择array_linux.go文件,其它系统命名后缀文件全部忽略。
案例
1 | 首先运行 go build命令需要进入go path的对应项目src文件中 |
go install-build源码并将相关文件安装到约定的目录下
- go install编译出的可执行文件以其所在目录名(DIR)命名
- go install将可执行文件安装到与src同级别的bin目录下,bin目录由go install自动创建
- go install将可执行文件依赖的各种package编译后,放在与src同级别的pkg目录下
- .exe 文件,带main函数的go文件运行产生,有函数入口可以直接运行
- .a 应用包,不带main函数的go文件运行产生,只能被调用
go clean-移除当前源码包中的编译文件###
go fmt-格式化go文件###
开发工具往往默认集成了自动格式化功能,底层实际上也是使用了 go fmt命令。
1 | gofmt -w testProject/ #格式化整个项目 并写入文件 |
go get
本质上:clone 目标代码到src目录,然后执行go install。
根据目标代码的地址,使用不同的工具,如果本地不具备该源码管理工具,将不会成功。
- BitBucket (Mercurial Git)
- GitHub (Git)
- Google Code Project Hosting (Git, Mercurial, Subversion)
- Launchpad (Bazaar)
go test
自动读取当前目录下*_test.go文件,生成并运行测试用的可执行文件。
相关参数可运行go test testflag命令查看
其他命令
1 | go fix #用于修复老版本的代码到新版本 |