2015/08/20

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

どんどん使っていきましょう。

Posted at 10:26 | WriteBacks () | Edit
Edit this entry...

wikieditish message: Ready to edit this entry.






















A quick preview will be rendered here when you click "Preview" button.