/home/by-natures/dev*

データ界隈で働くエンジニアとしての技術的なメモと、たまに普通の日記。

2018/10/12 Go 言語での OOP

今日通勤中に、アイドルの女の子からライブのチラシをもらいました。なんでも今日500人来ないと今後ライブが出来ないとか。

昔実家が居酒屋をやっていた頃、マンションにチラシを入れに行ったこともあったなぁと思い出しました。今ならチラシの構成とか、居酒屋のメニューに使う写真を綺麗に撮るとか、それこそ SNS を使うとか、いろいろお店を手伝えることもあったのになぁ、なんてたまに思い返します。

Go 言語でのオブジェクト指向プログラミング

今日は先輩に Go 言語で OOP するチュートリアルを共有してもらいました。

golangbot.com

チュートリアルは3章ありますが、要点だけまとめました:

  • コンストラクタは存在しないため、構造体は非公開(構造体名を小文字)にし、その構造体を生成するメソッドのみを公開する
  • 継承はできないので移譲で代用する
  • 同じインタフェースを実装することでポリモルフィズムも実装可能

移譲、というか Embedding による Auto delecation と言うと正しいかもしれません。

2番目と3番目ですが、構造体を移譲してもポリモルフィズムが実現できないのに注意が必要です。以下の記事にまとめられていました:

qiita.com

それでは良い週末を!