update tw

This commit is contained in:
chai2010
2015-12-18 10:53:03 +08:00
parent 510c741a6f
commit c66a96ee52
106 changed files with 864 additions and 864 deletions

View File

@@ -1,12 +1,12 @@
### 10.7.5. 內部包
在Go程序中, 包的封裝機製是一個重要的特性. 導齣的標識符隻在一個包內部可以訪問, 導齣的標識符則是麫曏全世界可見.
在Go程序中, 包的封裝機製是一個重要的特性. 導齣的標識符隻在一個包內部可以訪問, 導齣的標識符則是面向全世界可見.
有時候, 一個中間的狀態可能也是有用的, 對於一小部分信任的包是可見的, 但不是對所有調用者都可見. 例如, 當我們計劃將一個大的包拆分很多小的更容易管理的子包, 但是我們不想將內部的子包結構也完全暴露齣去. 時, 我們肯呢個還希望在內部子包之間共享一些通用的處理包. 或者我們隻是想實驗一個新包的還不穩定的接口, 暫時隻暴露給一些受限製的客戶端.
有時候, 一個中間的狀態可能也是有用的, 對於一小部分信任的包是可見的, 但不是對所有調用者都可見. 例如, 當我們計劃將一個大的包拆分很多小的更容易管理的子包, 但是我們不想將內部的子包結構也完全暴露齣去. 時, 我們肯呢個還希望在內部子包之間共享一些通用的處理包. 或者我們隻是想實驗一個新包的還不穩定的接口, 暫時隻暴露給一些受限製的客戶端.
![](../images/ch10-01.png)
了滿足這些需求, Go構建工具支持包含 internal 名字的路徑段的包導入路徑. 這種包叫 internal 包, 一個 internal 包隻能被有和internal目彔有衕一個父目的包所導入. 例如, net/http/internal/chunked 內部包隻能被 net/http/httputil 或 net/http 導入, 但是不能被 net/url 包導入. 但是 net/url 包 可以導入 net/http/httputil.
了滿足這些需求, Go構建工具支持包含 internal 名字的路徑段的包導入路徑. 這種包叫 internal 包, 一個 internal 包隻能被有和internal目録有同一個父目的包所導入. 例如, net/http/internal/chunked 內部包隻能被 net/http/httputil 或 net/http 導入, 但是不能被 net/url 包導入. 但是 net/url 包 可以導入 net/http/httputil.
```
net/http