「労働者が自分の仕事をうまくやりたいなら、まず自分の道具を研ぎ澄まさなければなりません。」 - 孔子、「論語。陸霊公」
表紙 > プログラミング > 埋め込みは、GOで複雑な構造階層実装を改善するにはどうすればよいですか?

埋め込みは、GOで複雑な構造階層実装を改善するにはどうすればよいですか?

2025-03-24に投稿されました
ブラウズ:968

How Can Embedding Improve Complex Structural Hierarchy Implementation in Go?

go

オブジェクト実装:

タイプオブジェクトインターフェイス{ 物体() } タイプObjectImpl struct {} func(o *objectimpl)object(){}

    Immovable実装:
  1. building vilementation:
  2. 型building struct { ImmobableImpl //埋め込まれた不動の実装 //追加の建物固有のフィールド }

movable実装:

型movable interface { 物体 movable() } 型movableimpl struct { ObjectImpl //組み込みオブジェクトの実装 } func(m *movableimpl)movable(){}

car実装:

型car struct { movableimpl //埋め込まれた移動可能な実装 //追加の車固有のフィールド }

Object
--Immovable
----Building
----Mountain
--Movable
----Car
----Bike
例の使用法:

//ビルディングは、可動インターフェイスを実装していないため、可動型変数に割り当てることはできません。 var movable movable = building {} //ただし、不動と移動可能な実装オブジェクトの両方であるため、オブジェクト型変数に割り当てることができます。 var object object {} [}

Object
--Immovable
----Building
----Mountain
--Movable
----Car
----Bike
埋め込みの利点:

空の方法の数を減らし、よりクリーンでより簡単なコードにつながります。 実装。
type Immovable interface {
  Object
  immovable()
}

type ImmovableImpl struct {
  ObjectImpl // Embedded Object implementation
}

func (i *ImmovableImpl) immovable() {}
最新のチュートリアル もっと>

免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。

Copyright© 2022 湘ICP备2022001581号-3