环境变量:GOROOT 和 GOPATH
GOROOT
就是go的安装路径
/usr/local/go/bin
GOPATH
工作目录,编译后二进制的存放目的地和import包时的搜索路径,如:
/root/go
GOPATH目录约定有三个子目录
- src存放源代码(比如:.go .c .h .s等) ,按照golang默认约定,go run,go install等命令的当前工作路径(即在此路径下执行上述命令)。
- pkg编译时生成的中间文件(比如:.a),golang编译包时
- bin编译后生成的可执行文件,(为了方便,可以把此目录加入到 $PATH 变量中,如果有多个gopath,那么使用${GOPATH//://bin:}/bin添加所有的bin目录)
go build
编译生成可执行文件,注意 go build 指令会调用所有引用包的源码进行重新编译而不是使用之前pkg里的文件
go install
类似 go build 的功能 ,但go install 命令执行生成的可执行文件是在【$GOPATH/bin】目录中
go run
直接运行go代码
go get
该命令可以理解为两个操作 git clone + go install , 执行会将远程代码clone 到【$GOPATH/src】 目录中
go clean
用来移除当前源码包里面编译生成的文件,这些文件包括
_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产生
也可以删除go get安装的包
go fmt
命令主要是用来帮你格式化所写好的代码文件。使用go fmt命令,更多时候是用gofmt,而且需要参数-w,否则格式化结果不会写入文件。gofmt -w src,可以格式化整个项目。
delve
go语言调试工具,直接运行调试,或者attach到一个正在运行中的golang程序,进行调试。类似gdb。
安装方法,直接运行go get即可:
go get -u github.com/derekparker/delve/cmd/dlv