(初出: そろそろ真面目に Golang 開発環境について考える — Internal Packages と Vendoring - Qiita) 「GOPATH 汚染問題」で言及しそこねたので,今回は軽く。 Internal Packages の仕組みは 1.4 から存在したが標準パッケージのみの適用だった。 1.5 からは GOPATH 配下のパッケージまで拡張される。 Go 1.4 “Internal” Packages 要するに internal フォルダ以下のパッケージは外部から参照できない。 例として net パッケージを挙げてみる。 net パッケージのソースコードの構成は以下のようになっている。 C:\Go\src\net> tree . C:\GO\SRC\NET ├─http │ ├─cgi │ │ └─testdata │ ├─cookiejar │ ├─fcgi │
![パッケージ外部からの呼び出しを禁止する Internal Packages](https://cdn-ak-scissors.b.st-hatena.com/image/square/d10addccef9c7773072a5ec748deb629e26bc669/height=288;version=1;width=512/https%3A%2F%2Ftext.baldanders.info%2Fimages%2Fattention%2Fgo-logo_blue.png)