2015-12-09 07:45:11 +00:00
|
|
|
|
## 10.7. 工具
|
|
|
|
|
|
2016-01-08 08:45:40 +00:00
|
|
|
|
本章剩下的部分將討論Go語言工具箱的具體功能,包括如何下載、格式化、構建、測試和安裝Go語言編寫的程序。
|
2015-12-09 07:45:11 +00:00
|
|
|
|
|
2016-01-08 08:45:40 +00:00
|
|
|
|
Go語言的工具箱集合了一繫列的功能的命令集。它可以看作是一個包管理器(類似於Linux中的apt和rpm工具),用於包的査詢、計算的包依賴關繫、從遠程版本控製繫統和下載它們等任務。它也是一個構建繫統,計算文件的依賴關繫,然後調用編譯器、滙編器和連接器構建程序,雖然它故意被設計成沒有標準的make命令那麽複雜。它也是一個單元測試和基準測試的驅動程序,我們將在第11章討論測試話題。
|
2015-12-09 07:45:11 +00:00
|
|
|
|
|
2016-01-08 08:45:40 +00:00
|
|
|
|
Go語言工具箱的命令有着類似“瑞士軍刀”的風格,帶着一打子的子命令,有一些我們經常用到,例如get、run、build和fmt等。你可以運行go或go help命令査看內置的幫助文檔,爲了査詢方便,我們列出了最常用的命令:
|
2015-12-09 07:45:11 +00:00
|
|
|
|
|
|
|
|
|
```
|
|
|
|
|
$ go
|
|
|
|
|
...
|
|
|
|
|
build compile packages and dependencies
|
|
|
|
|
clean remove object files
|
|
|
|
|
doc show documentation for package or symbol
|
|
|
|
|
env print Go environment information
|
|
|
|
|
fmt run gofmt on package sources
|
|
|
|
|
get download and install packages and dependencies
|
|
|
|
|
install compile and install packages and dependencies
|
|
|
|
|
list list packages
|
|
|
|
|
run compile and run Go program
|
|
|
|
|
test test packages
|
|
|
|
|
version print Go version
|
|
|
|
|
vet run go tool vet on packages
|
|
|
|
|
|
|
|
|
|
Use "go help [command]" for more information about a command.
|
|
|
|
|
...
|
|
|
|
|
```
|
|
|
|
|
|
2016-01-08 08:45:40 +00:00
|
|
|
|
爲了達到零配置的設計目標,Go語言的工具箱很多地方都依賴各種約定。例如,根據給定的源文件的名稱,Go語言的工具可以找到源文件對應的包,因爲每個目録隻包含了單一的包,併且到的導入路徑和工作區的目録結構是對應的。給定一個包的導入路徑,Go語言的工具可以找到對應的目録中沒個實體對應的源文件。它還可以根據導入路徑找到存儲代碼倉庫的遠程服務器的URL。
|
2015-12-09 07:45:11 +00:00
|
|
|
|
|
|
|
|
|
{% include "./ch10-07-1.md" %}
|
|
|
|
|
|
|
|
|
|
{% include "./ch10-07-2.md" %}
|
|
|
|
|
|
|
|
|
|
{% include "./ch10-07-3.md" %}
|
|
|
|
|
|
|
|
|
|
{% include "./ch10-07-4.md" %}
|
|
|
|
|
|
|
|
|
|
{% include "./ch10-07-5.md" %}
|
|
|
|
|
|
|
|
|
|
{% include "./ch10-07-6.md" %}
|