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 build [-o output] [-i] [build flags] [packages]

代码编译为机器码

示例:

go build
go build -v -trimpath -o xx.exe ./cmd
go build -v -trimpath -o xx.exe ./cmd/main.go
1.5、go run [build flags] [-exec xprog] package [arguments...]

先编译,后执行。此命令只是为了方便运行代码。

示例:

go run
go run ./cmd
go run ./cmd/cli.go
注意 :这种方式并不是解释执行,因为golang是静态编译型语言,不是解释型语言。
1.6、go install [-i] [build flags] [packages]

编译并安装。

编译后安装到的目录:$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]

下载指定包的源代码,然后编译、安装。

源代码下载到的目录:$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]