GOROOT

GOROOT是go语言的安装根目录路径,其中包含go的标注库,和JAVA_HOME类似

GOPATH

说明

  • 执行go installgo build等命令的时候,所有的源码查询都是依赖这个路径的。
  • 可以设置多个,在linux中用:隔开多个目录,而在windows下则是用; 隔开多个目录。

结构

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
GOPATH/
--src/ //存放源文件
--gopl.io/
--ch1/
--helloworld/
--main.go
--dup/
--main.go
--golang.org/x/net/
--.git/
--html/
--parse.go
--node.go
--bin/ //存放可以运行文件
--helloworld
--dup
--pkg/ //存放归档文件
--darwin_amd64/

相关命令

go build

编译命令行参数指定的每个包

  1. 默认情况下go build命令构建指定的包和他依赖的包,丢弃除所有可执行文件之外的所有中间编译结果。
  2. 编译结果会放到当前目录下
  3. 如果包是一个库,将忽略结果,此种情况可以检测包代码的正确性
  4. 如果没有指定参数,那么默认指定为当前目录对应的包。
  • 可以到指定包中执行go build
1
2
$ cd $GOPATH/src/gopl.io/ch1/helloworld
$ go build
  • 可以在任何地方执行go build,参数必须是导入路径
1
$ go build gopl.io/ch1/helloworld
  • 可以在GOPATH下通过相对路径执行使用 ./或者 ../
1
2
$ cd $GOPATH
$ go build ./src/gopl.io/ch1/helloworld
  • 也可以直接指定源文件列表
1
$ go build quoteargs.go xxx.go

go install

go build很类似,但是会保存每个包的编译成果。

  1. 可运行文件将会放到 $GOPATH/bin目录下
  2. 库编译之后的归档文件会放到 $GOPATH/pkg目录下
  3. 执行相关路径同go build

go env

可以查看go的各种环境配置

go run

可以直接编译并运行go文件

1
go run main.go