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

2.3 KiB
Raw Blame History

10.7. 工具

本章剩下的部分將討論Go語言工具箱的具體功能包括如何下載、格式化、構建、測試和安裝Go語言編寫的程序。

Go語言的工具箱集合了一繫列的功能的命令集。它可以看作是一個包管理器類似於Linux中的apt和rpm工具用於包的査詢、計算的包依賴關繫、從遠程版本控製繫統和下載它們等任務。它也是一個構建繫統計算文件的依賴關繫然後調用編譯器、滙編器和連接器構建程序雖然它故意被設計成沒有標準的make命令那麽複雜。它也是一個單元測試和基準測試的驅動程序我們將在第11章討論測試話題。

Go語言工具箱的命令有着類似“瑞士軍刀”的風格帶着一打子的子命令有一些我們經常用到例如get、run、build和fmt等。你可以運行go或go help命令査看內置的幫助文檔爲了査詢方便我們列出了最常用的命令

$ 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.
...

爲了達到零配置的設計目標Go語言的工具箱很多地方都依賴各種約定。例如根據給定的源文件的名稱Go語言的工具可以找到源文件對應的包因爲每個目録隻包含了單一的包併且到的導入路徑和工作區的目録結構是對應的。給定一個包的導入路徑Go語言的工具可以找到對應的目録中沒個實體對應的源文件。它還可以根據導入路徑找到存儲代碼倉庫的遠程服務器的URL。

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