这个命令主要用于测试编译。在包的编译过程当中,会同时编译与之相关联的包。linux
建议使用 -gcflags "-N -l" 参数关闭编译器代码优化和函数 内联,避免断点和单步执行没法准确对应源码行,避免小函数和局部变量被优化掉。-o 指定存放位置。git
go build -gcflags "-N -l" -o test test.go
github
go build a.go
如一个读取数组的程序,它对于不一样的操做系统可能有以下几个 源文件:windows
array_linux.go array_darwin.go array_windows.go array_freebsd.go
go build 的时候会选择性地编译以系统名结尾的文件(linux、darwin、windows、freebsd)。 例如 Linux 系统下面编译只会选择 array_linux.go 文件,其它系统命名后缀文件所有忽略。数组
这个命令是用来移除当前源码包里面编译生成的文件。这些文件包括浏览器
_obj/ 旧的 object 目录,由 Makefiles 遗留 _test/ 旧的 test 目录,由 Makefiles 遗留 _testmain.go 旧的 gotest 文件,由 Makefiles 遗留 test.out 旧的 test 记录,由 Makefiles 遗留 build.out 旧的 test 记录,由 Makefiles 遗留 *.[568ao] object 文件,由 Makefiles 遗留 DIR(.exe) 由 go build 产生 DIR.test(.exe) 由 go test -c 产生 MAINFILE(.exe) 由 go build MAINFILE.go 产生
我通常都是利用这个命令清除编译文件,而后 github 递交源码,在本机测试的时候这些编 译文件都是和系统相关的,可是对于源码管理来讲不必ide
格式化代码,通常用不到。函数
用来动态获取远程代码包的,目前支持的有 BitBucket、GitHub、Google Code 和 Launchpad。测试
这个命令在内部实际上分红了两步操做:第一步是下载源码包,第二步是 执行 go install。优化
这个命令在内部实际上分红了两步操做:第一步是生成结果文件(可执行文件或者.a 包), 第二步会把编译好的结果移到$GOPATH/pkg 或者 $GOPATH/bin。
自动读取源码目录下面名为*_test.go 的文件,生成并运行测试用的可执行文件。
查看对应包的文档,如 执行 go doc net/http
查看http包里面的函数.
通常使用ide 直接进去看,通常不这么用。
godoc -http=:端口号,配置GOPATH. 如 godoc -http=:8080
, 浏览器中访问 http://localhost:8080
,查看本地和本身写的文档
go doc fmt Printf
用来修复之前老版本的代码到新版本,例如 go1 以前老版本的代码转化到 go1
查看 go 当前的版本
查看当前 go 的环境变量
列出当前所有安装的 package
编译并运行 Go 程序