# 第十章 包和工具

現在隨便一個小程序的實現都可能包含超過10000個函數。然而作者一般隻需要考慮其中很小的一部分和做很少的設計，因爲絶大部分代碼都是由他人編寫的，它們通過類似包或模塊的方式被重用。

Go語言有超過100個的標準包（譯註：可以用`go list std | wc -l`命令査看標準包的具體數目），標準庫爲大多數的程序提供了必要的基礎構件。在Go的社區，有很多成熟的包被設計、共享、重用和改進，目前互聯網上已經發布了非常多的Go語音開源包，它們可以通過 http://godoc.org 檢索。在本章，我們將演示如果使用已有的包和創建新的包。

Go還自帶了工具箱，里面有很多用來簡化工作區和包管理的小工具。在本書開始的時候，我們已經見識過如何使用工具箱自帶的工具來下載、構件和運行我們的演示程序了。在本章，我們將看看這些工具的基本設計理論和嚐試更多的功能，例如打印工作區中包的文檔和査詢相關的元數據等。在下一章，我們將探討探索包的單元測試用法。
