Golang パッケージ
パッケージ
パッケージの作成
ディレクトリ構成
src/ foo/ message.go
パッケージソース
message.go
package foo var internalVar = "パッケージ内からしか読めません" var externalVar = "パッケージ外から読めます" func internalMessage() string { return "パッケージ内からのみ呼べる" } func Message() string { return "パッケージ外からも呼べる" }
public または private キーワードは用意されていない。 プライベートにするには名前の先頭を小文字に。 パブリックにするには、名前の先頭を大文字に。
ビルドの実行
$ go build
モジュールの作成
$ go mod init github.com/myuser/foo
src/ foo/ go.mod message.go
ローカル パッケージ の参照
準備
go.modの作成
go mod init mypackage
go.modの編集
# go.mod require github.com/myuser/foo v0.0.0 replace github.com/myuser/foo => path/to/foo
パッケージの使用
package main import "github.com/myuser/foo" func main() { println(foo.Message()) }
外部 (サードパーティ) パッケージの参照
package main import ( "rsc.io/quote" ) func main() { println(quote.Hello()) }
go.mod
module helloworld go 1.14 require ( rsc.io/quote v1.5.2 )