天天看点

go语言基本概念大集合,持续更新,go build,go get,go install,go run环境变量:GOROOT 和 GOPATH

环境变量:GOROOT 和 GOPATH

GOROOT

就是go的安装路径

/usr/local/go/bin
           

GOPATH

工作目录,编译后二进制的存放目的地和import包时的搜索路径,如:

/root/go
           

GOPATH目录约定有三个子目录

  1. src存放源代码(比如:.go .c .h .s等) ,按照golang默认约定,go run,go install等命令的当前工作路径(即在此路径下执行上述命令)。
  2. pkg编译时生成的中间文件(比如:.a),golang编译包时
  3. 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
           

继续阅读