LoginSignup
9
9

More than 5 years have passed since last update.

型TがインタフェースIを実装しているか、の確認方法例

Posted at

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

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
9
9