go命令的使用

go命令的使用格式:

go <command> [arguments]
1.1、go help <command>

查看command子命令的使用帮助。

1.2、go version

查看golang的版本。

1.3、go env [-json] <item>

查看go相关的环境变量的值。

默认按照一行一行的展示:

JSON格式展示:

获取某个环境变量的值:

1.4、go run [build flags] [-exec xprog] package [arguments...]

运行golang代码。

1.5、go build [-o output] [-i] [build flags] [packages]

只编译golang代码。

编译后存放到的目录:$GOPATH/pkg

1.6、go install [-i] [build flags] [packages]

编译并安装golang代码。

编译后安装到的目录:$GOPATH/bin

1.7、go clean [clean flags] [build flags] [packages]

清楚编译过程中产生的文件。

1.8、go get [-d] [-f] [-t] [-u] [-v] [-fix] [-insecure] [build flags] [packages]

下载golang源代码,然后编译、安装。

源代码下载到的目录:$GOPATH/src

编译后安装到的目录:$GOPATH/bin

所以,这里面会使用到GOPATH这个环境变量,这个环境变量就相当于一个golang工程的工作目录, 所以,每次使用go get之前,都最好设置一个新的值,当然,你如果故意要想把不同的项目放到一起,也没毛病, 看自己的需要。

示例:

export GOPATH=~/go/deltaskelta-readme
go get -v github.com/deltaskelta/readme

执行完毕后的目录结构:

~/go/deltaskelta-readme/bin加入PATH环境变量中:

export PATH=$PATH:~/go/deltaskelta-readme/bin

注意:如果导入包的时候没有指明去哪里下载包,默认是去https://golang.org/x下载, 由于众所周知的原因,他在中国大陆不借助于梯子是无法访问的,幸好,有人提供了他的代理服务器,设置如下:

export GO111MODULE=on
export GOPROXY=https://goproxy.io

https://goproxy.io代理服务器在中国香港。

1.9、go test [build/test flags] [packages] [build/test flags & test binary flags]

运行测试代码。

1.10、go generate [-run regexp] [-n] [-v] [-x] [build flags] [file.go... | packages]