Maison >développement back-end >Golang >Comment intégrer des types personnalisés dans d'autres types dans Golang ?

Comment intégrer des types personnalisés dans d'autres types dans Golang ?

WBOY
WBOYoriginal
2024-06-02 10:54:57569parcourir

Intégration de types personnalisés dans Go : définissez un type personnalisé et intégrez-le dans un autre type. Accédez aux champs d'un type imbriqué via le nom du type incorporé. Les types intégrés fournissent un mécanisme flexible et extensible pour créer des structures de données complexes.

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

Comment intégrer des types personnalisés dans Go ?

Introduction :
Dans Go, l'intégration vous permet d'utiliser des types personnalisés dans le cadre d'autres types, ce qui est utile pour créer des structures de données complexes et implémenter des compositions.

Syntaxe :

type EmbeddedType struct {
  // 嵌入的自定义类型
  CustomType
}

Exemple :
Considérons une structure Personne qui a des champs de nom et d'âge et que nous voulons l'intégrer dans un autre Employé A structure qui comporte des champs de département et de salaire. 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

Code :

for _, emp := range employees {
  fmt.Printf("Employee Name: %s, Age: %d\n", emp.Name, emp.Age)
}

Exemple pratique : 🎜🎜Supposons que nous ayons une tranche contenant la structure Employé : 🎜rrreee🎜Nous pouvons parcourir la tranche et accéder à la Personne code> field :🎜rrreee🎜🎜Conclusion : 🎜🎜Embedded in Go est un mécanisme puissant qui vous permet de créer des structures de données flexibles et extensibles. En intégrant des types personnalisés dans d’autres types, vous pouvez facilement créer des objets complexes sans avoir à copier ou gérer manuellement le code en double. 🎜

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn