Maison >développement back-end >Golang >Comment puis-je effectuer une conversion entre des structures Go à l'aide de l'intégration de champs ?

Comment puis-je effectuer une conversion entre des structures Go à l'aide de l'intégration de champs ?

Susan Sarandon
Susan Sarandonoriginal
2024-10-27 01:58:30812parcourir

How can I convert between Go structs using field embedding?

Conversion entre des structures Go

Lorsque vous travaillez avec plusieurs structures, il est souvent nécessaire de convertir les données d'une structure à une autre. Dans Go, cela peut être réalisé grâce à une technique appelée intégration de champs.

Considérez l'extrait de code suivant :

<code class="go">type A struct {
    a int
    b string
}

type B struct {
    A // field embedding of A
    c string
    // more fields
}</code>

Dans cet exemple, la struct B intègre la struct A. Cela signifie que la struct B contient tous les champs de la structure A en plus de ses propres champs.

Pour convertir une valeur de type A en type B, vous pouvez simplement affecter les champs de A à ceux de B. Par exemple :

<code class="go">func main() {
    structA := A{a: 42, b: "foo"}

    // assign structA to the embedded A field of structB
    structB := B{A: structA}
}</code>

Grâce à l'intégration de champs, vous pouvez facilement convertir entre les structures, éliminant ainsi le besoin de copier manuellement les champs ou de créer des méthodes de conversion.

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