User:九千鸦/Go

维基百科,自由的百科全书


命令行

Go的发行版(distribution)包含了一个名为 go 的命令函参数,用于下载、构建、安装、测试Go包。

依赖管理

Go团队一开始为了集中精力构建Go编译器以及相关的包,故将自动构建的工作推迟了(即依赖管理)。新的go命令是为了,让Go程序的在没有任何配置以及任何操作之前,就可以进行编译(即约定优于配置)。为了达到该目的,Go必须遵循某些约定:当我们启动的时候,将要使用的他人上传的Go包必须安装在一个合适的地方,使用合适的名字,并且使用合适的工作进行构建。

Go团队多年来提倡使用 go get命令(goinstall 已被抛弃)与其约定。约定是,

  1. 通过导入路径(import path)可以找到源代码的URL地址。
  2. 源代码存储的路径是根据导入路径。
  3. 源代码所在的目录(directory)都对应着一个Go包。
  4. 只有通过使用源码中的信息,才能构建包。

另外,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

参考文献