1. 查看Go命令
可以在命令行中执行go命令来查看所有的go命令:

2. Go命令
2.1. go build
主要用来编译代码,在编译的过程中,可以同时编译代码中引用的其他包。
- 对于普通包,执行
go build后不会生成任何文件。(执行gi install可以在$GOPATH/pkg目录下生成对应的文件) - 如果是main包,执行
go build后,会在当前的目录下生成一个可执行文件。(使用go install或go build -o [path]/a.exe可以在$GOPATH/bin目录下生成相应的文件) go build默认会编译当前目录下的所有go文件;如果只想编译某一个文件,可以在go build之后加上文件名,例如:go build name.go。- 使用
go build -o namexx.exe可以指定编译输出的文件名;默认的名称有两种情况:如果当前不是main包,那么就是package名;如果是main包那么就是第一个源文件的文件名。 go build会忽略目录下以“_”或者“.”开头的文件。- 如果需要针对不同的操作系统进行不同的处理,可以根据不同系统名称后缀来命名文件,例如有一个读取数组的程序,针对不同的操作系统的执行代码有差异的,那么就有这么几个源文件:
array_linux.go、array_darwin.go、array_windows.go、array_freebsd.go,在不同的操作系统下编译会选择相应系统名结尾的文件,忽略其他文件。
2.1.1. 参数介绍
-o指定输出的文件名,可以带路径输出:go build a/b/c/name.exe-n把需要执行的编译命令打印出来,但是不执行,只输出。-v打印出正在编译的包名-x和-n相同,只是-x在打印的同时会执行编译
2.2. go clean
这个命令是用来删除掉当前包中编译生成的文件,只剩下源文件。
2.2.1. 参数介绍
-i清除使用go install安装的文件(关联的安装包和可运行文件)。-n把需要执行清除命令打印出来,但是不执行。-r循环清除在import中引入的包。-x和-n一样,只不过在打印的同时会执行清除命令。
2.3. go fmt
这个命令可以格式化你源文件中的代码,消除源文件中的编码不规范。
2.3.1. 参数介绍
-l列出需要格式化的文件。-w把格式化后的内容直接写入对应的源文件中。-s简化文件中的代码。-d打印格式化前后的内容对比,不写入文件,默认是false。-e打印所有的语法错误。如果没有这个参数,默认只会打印前10个错误。
2.4. go get
这个命令用来拉取远程包,并执行go install命令安装。
支持从BitBucket、GitHub、Google Code和Launchpad获取包文件,获取是需要安装对应的源码版本管理工具:
| 远程 | 工具 |
|---|---|
| BitBucket | Mercurial |
| GitHub | Git |
| Google Code Project Hosting | Git, Mercurial, Subversion |
| Launchpad | Bazaar |
2.4.1. 参数介绍
-d只下载包,不安装(不执行go install)。-u强制从网络更新包和包的依赖。-f只在包含了-u参数的时候有效,不让-u去验证import的包是否都获取了。-t同时获取需要为运行测试所需要的包。-v显示执行的命令。
2.5. go install
这个命令用来生成可执行文件或者.a包,并且会把编译好的文件移动到$GOPATH/pkg或者$GOPATH/bin目录下。
2.5.1. 参数介绍
支持go build的所有参数。
2.6. go test
这个命令会自动读取源文件目录下面名称为*_test.go的文件,生成并运行测试用的可执行文件,输出测试结果。
2.7. go tool
这个命令下面有很多参数命令。
2.7.1. 参数介绍
fix修改老版本的代码到新版本。vet directory|files用来分析当前目录下的代码是否编写正确(参数、函数、无用代码之类)