GOROOT
golang 的安装路径,当安装好golang之后会自动创建
GOPATH
GOPATH
是作为编译后二进制的存放目的地和import包时的搜索路径
$GOPATH目录约定有三个子目录
src
存放源代码pkg
存放编译好的库文件bin
编译后生成的可执行文件
常用:
存放sdk以外的第三方类库
自己收藏的可复用的代码
go install
/go get
和go的工具等会用到GOPATH环境变量.
基于GOPATH
代码目录结构规划
GOPATH下的src目录就是接下来开发程序的主要目录,所有的源码都是放在这个目录下面,那么一般我们的做法就是一个目录一个项目,
例如: $GOPATH/src/mymath
表示mymath
这个应用包或者可执行应用,这个根据package是main还是其他来决定,main一般是可执行应用,其他的一般就是应用包。
GOBIN
程序生成的可执行文件的路径。这里注意,你可以设置它,也可以不设置,默认是个空字符串,我猜测它会链接距离最短的$GOPATH下的./bin
文件夹。这里多说一句,需要go install才
会放到到GOBIN目录,go build
的话你的可执行文件和你的main.go
在同一目录下。
最后,举一个go的整体一个开发目录结构
go_project // go_project为GOPATH目录
-- bin
-- myApp1 // 编译生成
-- myApp2 // 编译生成
-- myApp3 // 编译生成
-- pkg
-- src
-- myApp1 // project1
-- models
-- controllers
-- others
-- main.go
-- myApp2 // project2
-- models
-- controllers
-- others
-- main.go
-- myApp3 // project3
-- models
-- controllers
-- others
-- main.go