golang-study/notes/1.1.工具命令.md

55 lines
2.0 KiB
Markdown
Raw Normal View History

2021-09-11 18:30:18 +08:00
#### 0x00 Go工具命令
##### get 命令
该命令可以借助`代码管理工具`通过远程拉取或更新代码包及其依赖包,并自动`完成编译和安装`,整个过程类似安装App一样;
目前支持的动态获取远程代码包的有`BitBucket、GitHub、Google Code 和 Launchpad`,所以为了 go get 命令能正常工作您需要安装与远程包仓库匹配的代码管理工具,如 `Git、SVN、HG` 等,由于它自动根据不同的域名调用不同的源码工具,对应关系如下:
```
BitBucket (Mercurial Git)
GitHub (Git)
Google Code Project Hosting (Git, Mercurial, Subversion)
Launchpad (Bazaar)
```
该命令内部实际上分成了两步操作:
- 第一步是下载源码包假设远程包的路径格式
```
github.com/golang/go
```
```
#比如github网站的项目包路径都有一个共同的标准
github.com - 网站域名:表示代码托管的网站,类似于电子邮件 @ 后面的服务器地址。
golang - 作者或机构: 表明这个项目的归属,一般为网站的用户名,如果需要找到这个作者下的所有项目,可以直接在网站上通过搜索“域名/作者”进行查看。( 似于电子邮件 @ 前面的部分。)
go - 项目名称 :每个网站下的作者或机构可能会同时拥有很多的项目,图中标示的部分表示项目名称。
```
- 第二步是执行 go instal
参数介绍:
```
$go get [options]
* -d 只下载不安装
* -f 只有在你包含了 -u 参数的时候才有效,不让 -u 去验证 import 中已经获取了的包(`对于本地 fork 的包特别有用`)
* -fix 在获取源码之后先运行 fix然后再去做其他的事情
* -t 同时也下载需要为运行测试所需要的包
* -u 下载丢失的包,但不会更新已经存在的包
* -v 显示操作流程的日志及信息,方便检查错误
* -insecure 允许使用不安全的 HTTP 方式进行下载操作
```
基础实例:
```
#例如想获取 go 的源码并编译,然后他会编译安装到 GOPATH 目录中
$ go get github.com/davyxu/tabtoy
```