最近は趣味でGolangとTypeScriptを書いています。Golangのドキュメントを見ていると気になる記述を見つけたのでブログに書き残します。 ここに書いてあることです。 github.com あるモジュールをテストしたい時に、モックのためにインターフェースで公開する場合があります。 ここではwikiの例をお借りして、Thingerという型がThingというメソッドを持っている場合について記述します。 // DO NOT DO IT!!! package producer type Thinger interface { Thing() bool } type defaultThinger struct{ … } func (t defaultThinger) Thing() bool { … } func NewThinger() Thinger { return defaultT