公式ドキュメントのFAQ
-
How can I guarantee my type satisfies an interface?
-
var _ I = T{}
ってコードを仕込んで コンパイル時にエラーを確認する (I
がインタフェース)- 例えば
T
の基礎型がsturctではなくstringならvar _ I = T("")
こんな感じで - 実装漏れがあれば
T does not implement I
というコンパイルエラーで気付かせてくれる
- 例えば
-
"Iってインタフェースを実装してますよ" という宣言目的のメソッド を定義&実装して可視化する
- 例えば
ImplementsI()
的な名前のメソッド
- 例えば
-
- 個人的には前者の方法だけで良い気がした。メソッド名頼りというのが心許ないというか。。。
- お試しGist : https://gist.github.com/goldeneggg/abd05091a5abfde0b572