Go 语言:GOPATH 环境变量


#Go 语言#


GOPATH 用来设置个人工作区间对应的目录。里面可以存放编写的代码、编译文件、编译后的可执行文件

GOPATH 不能指向 Go 的安装目录。

默认的 $GOPATH 是 $HOME/go。也可以自定义,例如在 Linux 中:

export GOPATH=$HOME/mygo

注意,1.8 之前的版本必须手动指定 GOPATH。

GOPATH 包含3个目录,分别是srcpkgbin

示例1

$GOPATH 目录结构:

$ tree .
.
├── bin
├── pkg
└── src
    └── hello
        └── hello.go

hello.go 内容如下:

package main

import "fmt"

func main() {
	fmt.Printf("hello, world\n")
}

使用 go build :

$GOPATH 构建:

$ go build src/hello/hello.go

$ tree .
.
├── bin
├── hello
├── pkg
└── src
    └── hello
        └── hello.go

$ ./hello
hello, world

可以看到 go build生成的文件会放在当前目录中。

如果当前目录有 go 文件,build 后不必跟文件路径:

$ cd src/hello/
$ go build
$ ls
hello    hello.go
$ ./hello
hello, world

使用 go install :

go install 会先编译,然后将编译生成的可执行文件放在 bin 目录。

$ cd src/hello
$ ls
hello.go
$ go install
$ tree ../..
../..
├── bin
│   └── hello
├── pkg
└── src
    └── hello
        └── hello.go

可以看到 bin 目录下多了一个 hello 文件。

参考

https://github.com/golang/go/wiki/SettingGOPATH


( 本文完 )