概念 : go 工具将不同种类的工具集合并未一个命名集。
- 它是一个包管理器,可以查询包的作者,计算它们之间的依赖,从远程版本控制系统下载它们。
- 它是一个构建系统,可计算文件依赖,调用编译器,汇编器,和链接器,尽管它没有标准的UNIX make命令完备。
- 它还是一个测试驱动程序。
go help //查询go工具的命令集
GO环境变量
go env //输出与工具链相关的已经设置有效值的环境变量及其所设置的值。
GOPATH
表示工作空间的根,当需要切换不同工作空间时,更新GOPTH变量的值即可。
export GOPATH=$HOME/gobook
GOPATH有三个子目录:
src子目录包含源文件
pkg子目录是构建工具存储编译后的包的位置
bin子目录放置可执行程序
GOROOT
指定go发行的根目录,提供所有标准库的包,结构类似与GOPATH,例如:fmt包的源代码放在$GOROOT/src/fmt下面,用户无需设置GOROOT。
GOOS
指定目标操作系统,例如:android,linux,darwin,windows
GOARCH
指定目标处理器架构,比如:amd64,386,arm。
包的下载go get
go get 命令可以下载单一的包,也可以使用 ... 符号来下载子树或仓库。
支持多个流行的代码托管站点,如Github,Bitbucket,Launchpad,并且可以向版本控制系统发出合适的请求。
对于不知名的网站,也许需要指出导入路径使用的是哪种版本的控制协议,比如Git,Mercurial。执行go help importpath来获取更多的细节。
go get创建的目录是远程仓库的真是客户端,而不仅仅是文件的副本,这样可以使用版本控制命令查看本地编辑的查一或者更新到不同的版本。
注意:包导入路径中的明显的域名不同于Git服务器的实际域名。包可以在其导入路径中使用兹定于域名。它里面重定向go工具到实际托管地址的Git仓库。
go get -u 命令通常获得每个包的最新版本,生产环境不推荐使用。
通常是加一层vendor目录,构建一个关于所有必须依赖的本地副本,然后非常小心的更新这个副本。
go help gopath 可以查看vendor目录的详细信息。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。