go build 这个命令主要用于编译代码,在包编译过程中,若有必要,会同时编译与之相关的包
如果是普通包,上一节提到的mymath包,等你之次执行 go bulid后,它不会产生任何文件,如果你需要在GOPATH/pkg下生成相对应的文件,就需要执行go install
如果是main包,当你执行 go buil后,就会在当前目录下生成一个可以执行文件,如果你需要在GOPATH/bin 下生成相应的文件,需要执行go install ,或者go bulid -o
如果某个项目文件夹下有多个文件,而你只想编译某个文件,在go build之后加上文件名,go build ##.go
可以指定编译输出的文件名,mathapp应用,我们可以指定go build -o yunsuan.exe
go build 会忽略目录下_ 和. 开头的go文件
go build的时候会选择性的编译以系统名为结尾的文件,array_linux.go
go clean
这个命令是用来移除当前源码包和关联源码包里面编译生成的文件,Makefiles遗留的,go build产生的,go test -c 产生的 SWIG产生的
go clean -i -n
-i 清楚关联的安装的包和可运行文件,也就是通过go install 安装的文件
-n 把需要执行的清除命令打印出来,但是不执行
-X 执行清除
go fmt
go fmt是gofmt的上层一个包装的命令,
go fmt -l 显示需要格式化的文件
go fmt -w 改写的内容直接写入文件中
go fmt -r -s
go get
这个命令是用来动态获取远程代码包的,第一步下载源码包,第二部执行 go install
go install
这命令在内部实际上分成了两步操作,第一步是生成结果文件 可执行文件或者.a包
第二步会把编译好的结果移到$GOPATH/pkg 或者$GOPATH/bin
go test
会自动读取源码目录下名为* _test.go的文件,生成并运行测试用可执行文件
go tool
go tool fix .用来修复以前老版本的代码到新版本
go tool vet directory | files
go generate
go generate 和 go build是完全不一样的命令,通过分析源码中特殊的注释,然后执行相应的命令。
相当于写了一个yaml
go version 查看go当前的版本
go env 查看当前go的环境变量
go list列出当前全部安装的package