前書き Go とデザインパターンの並行勉強がてら、Builder パターンを書いてみたらちょっと詰まったので覚書き。 外部パッケージに定義したインタフェースを実装してみたらうまく動かなかったので、インタフェースとポインタについて調べてみた。 Builder パターン 足したり引いたりするだけの、GoF Builder の最低限の実装(だと思う)。 NewDirector でインスタンスを生成し、Construct で実行。 package builder type builder interface { Add(num float64) Sub(num float64) GetResult() string } type Director struct { builder builder } func NewDirector(b builder) Director { d := Direc