Goのシングルトンパターン
http://qiita.com/kitoko552/items/82a4ae6952610bace169
上記サイトを参考にGolangでシングルトンパターンのプログラムを書きました。
package meta
type metaWords struct {
PositiveWords []string
NegativeWords []string
}
var sharedInstance = &metaWords{}
// GetInstance is singleton of meta words
func GetInstance() *metaWords {
return sharedInstance
}
しかしこれだと、GetInstance()
の箇所でexported func GetInstance returns unexported type *meta.metaWords, which can be annoying to use
というGoLintの警告が出ます。
しかしGetInstance()
をmetaWords
のメソッドにすると警告は消えますが、外部からインスタンスを取得できなくなります。
このエラーを消すにはどのようにすればいいのでしょうか。Goでシングルトンパターンはどのように実装すればいいのでしょうか。