gopl-zh.github.com/ch10/ch10-07.md

42 lines
2.3 KiB
Markdown
Raw Normal View History

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" %}