共有
  • 記事へのコメント5

    • 注目コメント
    • 新着コメント
    その他
    snowcrush
    CatがAnimalでなくなったのならNot Animalになるのは正しい動作では?それがバグにつながるような他の箇所の実装に問題があると思う。インターフェースにしているのに実装と密結合していることが問題。

    その他
    turanukimaru
    まず、いかなる言語であっても型でディスパッチするべきではない。型は分岐のためのものではない。次に、Goに限れば interface に関数を増やすとコードが死にやすい。特にテストコートが。だから interface 自体を増やす。

    その他
    rugamaga
    var _ Animal = (*Cat)(nil) なんけど、これって結局インタフェイスの継承を明示的に宣言するのと同じだけの作業が発生するんだなあって......しかも忘れうる。

    その他
    pullphone
    pullphone 多くのケースで func NewCat() Animal みたいな感じで初期化関数を作るので interface はガンガン修正していっても問題ないという認識

    2022/08/22 リンク

    その他
    mattn
    mattn var _ Animal = (*Cat)(nil) を書いておくことで修正時にコンパイルエラーにできます。

    2022/08/21 リンク

    その他

    注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています

    アプリのスクリーンショット
    いまの話題をアプリでチェック!
    • バナー広告なし
    • ミュート機能あり
    • ダークモード搭載
    アプリをダウンロード

    関連記事

    Golangのインターフェースは拡張していいものなのか? - NullPointer's

    早速Golangで頭を抱えている Goには「このインターフェースを実装するぞ!」という明示的な宣言がない。...

    ブックマークしたユーザー

    すべてのユーザーの
    詳細を表示します

    同じサイトの新着

    同じサイトの新着をもっと読む

    いま人気の記事

    いま人気の記事をもっと読む

    いま人気の記事 - テクノロジー

    いま人気の記事 - テクノロジーをもっと読む

    新着記事 - テクノロジー

    新着記事 - テクノロジーをもっと読む

    同時期にブックマークされた記事

    いま人気の記事 - 企業メディア

    企業メディアをもっと読む