golang 1.5 がリリースされました。
Go 1.5 is released - The Go Blog
Go 1.5 is released 19 August 2015 Today the Go project is proud to release Go 1.5, the sixth major s...
https://blog.golang.org/go1.5
内容かなり盛りだくさんです。その中でも目を引くのが internal
パッケージです。
golang ではパッケージ内のシンボルを外部から参照可能にする為に名称の先頭を大文字にする必要があります。しかしながら、そうしてしまうと無関係のパッケージからも参照可能になってしまう問題がありました。
ライブラリパッケージを作っていて内部の共通関数を切り出したい、しかしながらライブラリ以外の物からは使わせたくない、そういう場合に internal を使います。
mattn/go15internal · GitHub
https://github.com/mattn/go15internal
このライブラリパッケージは、foo および bar からそれぞれ internal/hello にある Hello を呼び出していますが、これを外部から呼び出そうとすると以下の様にエラーとして扱ってくれます。
c:\dev\go\src\github.com\mattn\go15internal_main>go build -x
WORK=C:\Users\mattn\AppData\Local\Temp\go-build408769714
package github.com/mattn/go15internal_main
imports github.com/mattn/go15internal/internal/hello: use of internal package not allowed
どんどん使っていきましょう。