ブックマーク / qiita.com/amaya4869 (1)

  • Go言語:「インタフェースへのポインタ」ではまった - Qiita

    前書き 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

    Go言語:「インタフェースへのポインタ」ではまった - Qiita
    kent-where-the-light-is
    kent-where-the-light-is 2019/05/25
    “どうやらインタフェースのポインタはインタフェースとしての機能を持てないということらしい。 つまりインタフェースの機能を実装した実体のポインタを渡してもインタフェースとしては振る舞えないので意味がない
  • 1