User:九千鸦/Go
< User:九千鸦
命令行
Go的发行版(distribution)包含了一个名为 go
的命令函参数,用于下载、构建、安装、测试Go包。
依赖管理
Go团队一开始为了集中精力构建Go编译器以及相关的包,故将自动构建的工作推迟了(即依赖管理)。新的go命令是为了,让Go程序的在没有任何配置以及任何操作之前,就可以进行编译(即约定优于配置)。为了达到该目的,Go必须遵循某些约定:当我们启动的时候,将要使用的他人上传的Go包必须安装在一个合适的地方,使用合适的名字,并且使用合适的工作进行构建。
Go团队多年来提倡使用 go get
命令(goinstall
已被抛弃)与其约定。约定是,
- 通过导入路径(import path)可以找到源代码的URL地址。
- 源代码存储的路径是根据导入路径。
- 源代码所在的目录(directory)都对应着一个Go包。
- 只有通过使用源码中的信息,才能构建包。
另外,Go命令并非一个泛用性的构建工具,它永远不会去构建除Go包以外的内容。
导入路径(import path)是由源代码的URL所派生出来的,常见的源代码仓库有Bitbucket、GitHub、Google Code、Launchpad,这些仓库的主URL用于识别根目录,http://
前缀将被忽略。
源代码存储的路径是根据导入路径。源码默认存放在 $GOPATH/src/<import-path>
中;当设置多个 $GOPATH
时,将会遍历每一个类似的文件夹;当不设置 $GOPATH
时,源码存放在 ~/go/src/<import-path>
。
https://github.com/golang/example --> $GOPATH/src/github.com/golang/example
概念
GOPATH
参考文献