エントリーの編集
エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
Go言語 : インターフェース(&循環参照の分離) - Qiita
記事へのコメント0件
- 注目コメント
- 新着コメント
このエントリーにコメントしてみましょう。
注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています
- バナー広告なし
- ミュート機能あり
- ダークモード搭載
関連記事
Go言語 : インターフェース(&循環参照の分離) - Qiita
インターフェース インターフェイスは、実装と使用を分離することが出来る。 また、Go言語のインターフ... インターフェース インターフェイスは、実装と使用を分離することが出来る。 また、Go言語のインターフェースは「循環参照」を解決するためにも使われる。 循環参照 Go言語ではパッケージの循環参照が禁止されている。 循環参照というのは、パッケージAとBがお互いに参照しあってるということ。 循環参照の禁止は、レイヤードアーキテクチャを実現することに寄与する。 しかし、時に、循環参照の禁止は厳しすぎる制約となり、プログラム作成の障害となってしまう。 そこで、インターフェースを用いてパッケージを循環参照から切り離し、循環参照可能な仕組みを作ることもある。 ファイル構造 dog/ Dog.go DogLoar.go cat/ Cat.go DogInterface.go main.go ポイント Dog.go func (d *Dog) GetDog() string { cat := &cat.Ca