本文摘自php中文网,作者尚,侵删。
Go语言是一门全新的静态类型开发语言,具有自动垃圾回收,丰富的内置类型,函数多返回值,错误处理,匿名函数,并发编程,反射等特性.
go命令依赖一个重要的环境变量:$GOPATH
GOPATH允许多个目录,当有多个目录时,请注意分隔符,多个目录的时候Windows是分号;
当有多个GOPATH时默认将go get获取的包存放在第一个目录下
$GOPATH目录约定有三个子目录
1、src存放源代码(比如:.go .c .h .s等) 按照golang默认约定,go run,go install等命令的当前工作路径(即在此路径下执行上述命令)。
2、pkg编译时生成的中间文件(比如:.a) golang编译包时
3、bin编译后生成的可执行文件(为了方便,可以把此目录加入到 $PATH 变量中,如果有多个gopath,那么使用${GOPATH//://bin:}/bin添加所有的bin目录)
代码目录结构规划
GOPATH下的src目录就是接下来开发程序的主要目录,所有的源码都是放在这个目录下面,那么一般我们的做法就是一个目录一个项目,
例如: $GOPATH/src/mymath 表示mymath这个应用包或者可执行应用,这个根据package是main还是其他来决定,main的话就是可执行应用,其他的话就是应用包,这个会在后续详细介绍package。
首先看下我的go环境:go env
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
|
GOROOT
其实就是golang 的安装路径
当你安装好golang之后其实这个就已经有了
GOBIN
首先看一下结构:
我们通常是在project目录下执行go build,例如:
1 2 |
|
现在需要编译main.go,golang 会自动去src下找hello目录,因为我的main.go中代码的开通导入了packag main包,所以可以编译成可执行文件,但是这样默认在当前目录下生成可执行文件,虽然可以指定目录,但是还是感觉不是非常方便
1 |
|
所以还有两个非常好用的命令:go get 和go install
go get
go get会做两件事:
1、从远程下载需要用到的包
2、执行go install
go install
go install 会生成可执行文件直接放到bin目录下,当然这是有前提的
相关阅读 >>
Golang 协程(Goroutine) 运行过程 与 并发
更多相关阅读请进入《Go》频道 >>
Go语言101
一个与时俱进的Go编程知识库。