公式ドキュメントの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