ホームページ > バックエンド開発 > Golang > Golang でカスタム型を他の型に埋め込むにはどうすればよいですか?

Golang でカスタム型を他の型に埋め込むにはどうすればよいですか?

WBOY
リリース: 2024-06-02 10:54:57
オリジナル
590 人が閲覧しました

Go でのカスタム タイプの埋め込み: カスタム タイプを定義し、それを別のタイプに埋め込みます。埋め込み型の名前を通じて、ネストされた型のフィールドにアクセスします。埋め込み型は、複雑なデータ構造を作成するための柔軟で拡張可能なメカニズムを提供します。

如何在 Golang 中将自定义类型嵌入其他类型?

Go にカスタムタイプを埋め込むにはどうすればよいですか?

はじめに:
Go では、埋め込みによりカスタム型を他の型の一部として使用できるため、複雑なデータ構造の作成や合成の実装に役立ちます。

構文:

type EmbeddedType struct {
  // 嵌入的自定义类型
  CustomType
}
ログイン後にコピー

例:
名前と年齢フィールドを持つ person 構造を考えて、それを別の Employee A に埋め込みたいとします。部門フィールドと給与フィールドを含む構造。 Person 结构,它具有名称和年龄字段,我们想将其嵌入另一个 Employee 结构中,该结构具有部门和薪水字段。

代码:

// 自定义类型:Person
type Person struct {
  Name string
  Age  int
}

// 嵌入 Person 类型
type Employee struct {
  Person
  Department string
  Salary    int
}
ログイン後にコピー

实战案例:
假设我们有一个包含 Employee 结构的切片:

employees := []Employee{
  {
    Person: Person{
      Name: "John Doe",
      Age:  30,
    },
    Department: "Engineering",
    Salary:    50000,
  },
  // ...其他员工
}
ログイン後にコピー

我们可以遍历切片并访问 Person

コード:

for _, emp := range employees {
  fmt.Printf("Employee Name: %s, Age: %d\n", emp.Name, emp.Age)
}
ログイン後にコピー

実際の例: 🎜🎜Employee 構造を含むスライスがあるとします: 🎜rrreee🎜スライスを反復処理して、person にアクセスできます。 code> field :🎜rrreee🎜🎜結論: 🎜🎜Go の Embedded は、柔軟で拡張可能なデータ構造を作成できる強力なメカニズムです。カスタム タイプを他のタイプに埋め込むことで、重複したコードを手動でコピーしたり管理したりすることなく、複雑なオブジェクトを簡単に作成できます。 🎜

以上がGolang でカスタム型を他の型に埋め込むにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート