2014年8月30日土曜日

Golang Cafe #44を開催しました。

Golang Cafe #44を開催しました。

今回は東京で行われたGolang勉強会の資料のうち、 +Takuya Uedaさんの「インターフェイスの実装パターン」を読み進めました。

主な内容としては

  1. 独自の型定義(typeキーワードの使い方)
  2. インターフェイス型変数への代入とキャストの方法
  3. Goのインターフェイスはメソッドが全て実装されていれば、インターフェイスとして認識される。
  4. 関数型を定義してメソッドを実装すると、関数にインターフェイスを実装することができる。
  5. 構造体に別の型の埋め込みについて
  6. 埋め込みによるインターフェイスの実装
ポイントとして、私も以前から思っていたことなのですが、
何でもstructで実装するのはGo言語っぽくない。
ということで、typeとメソッドの理解をしっかりしましょうということでした。他にも埋め込みのところで、同じメソッド名でも埋め込むと型名を省略する事ができるなど(参考:http://play.golang.org/p/XRFBWEtqpu)Goの仕様を確認しました。

現時点の個人的なプロジェクトのみで話をすると、埋め込みやインターフェイスを活用するケースはほとんどないのですが、技術は知っておいていいと思うのですが、できるかぎり「仕様をシンプルに」できるようにするのがいいんだろうなー。と思っています。(それができれば苦労はしないのでしょうが…。)

埋め込みも便利ですが、DBに格納するとか、jsonに変換する時に複雑にな(≒ハマ)りがちな気がするので埋め込みもほどほどに…(?)