👌
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
)
Discussion