今回は東京で行われたGolang勉強会の資料のうち、 +Takuya Uedaさんの「インターフェイスの実装パターン」を読み進めました。
主な内容としては
- 独自の型定義(typeキーワードの使い方)
- インターフェイス型変数への代入とキャストの方法
- Goのインターフェイスはメソッドが全て実装されていれば、インターフェイスとして認識される。
- 関数型を定義してメソッドを実装すると、関数にインターフェイスを実装することができる。
- 構造体に別の型の埋め込みについて
- 埋め込みによるインターフェイスの実装
何でもstructで実装するのはGo言語っぽくない。ということで、typeとメソッドの理解をしっかりしましょうということでした。他にも埋め込みのところで、同じメソッド名でも埋め込むと型名を省略する事ができるなど(参考:http://play.golang.org/p/XRFBWEtqpu)Goの仕様を確認しました。
現時点の個人的なプロジェクトのみで話をすると、埋め込みやインターフェイスを活用するケースはほとんどないのですが、技術は知っておいていいと思うのですが、できるかぎり「仕様をシンプルに」できるようにするのがいいんだろうなー。と思っています。(それができれば苦労はしないのでしょうが…。)
埋め込みも便利ですが、DBに格納するとか、jsonに変換する時に複雑にな(≒ハマ)りがちな気がするので埋め込みもほどほどに…(?)
0 件のコメント:
コメントを投稿