Maison > développement back-end > Golang > Comment convertir entre des structures Go avec différents champs ?

Comment convertir entre des structures Go avec différents champs ?

Linda Hamilton
Libérer: 2024-10-28 04:14:02
original
934 Les gens l'ont consulté

 How to Convert Between Go Structs with Different Fields?

Conversion de structure dans Go

Q : J'ai deux structures avec des champs différents. Comment puis-je convertir une variable de type A en type B, où A contient uniquement des champs essentiels et B contient des champs supplémentaires ? Est-il possible d'effectuer cette conversion directement ou dois-je copier manuellement les champs ?

R : Dans Go, la conversion de structure peut être effectuée en tirant parti de la fonctionnalité d'intégration. Cela vous permet d'imbriquer les champs d'une structure dans une autre. Par exemple, dans votre cas, vous avez une structure A avec deux champs (a et b) et une structure B qui intègre la structure A et ajoute des champs supplémentaires (c et potentiellement plus).

Pour convertir à partir de A à B, vous pouvez simplement créer une structure B et y intégrer une instance de A :

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

type B struct {
    A
    c string
}

func main() {
    // create structA of type A
    structA := A{a: 42, b: "foo"}

    // convert to type B
    structB := B{A: structA}

    // access the fields of structB
    fmt.Println(structB.a, structB.b, structB.c) // Output: 42 foo (additional value)
}</code>
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal