Maison > développement back-end > Golang > Comment puis-je convertir entre différents types de structures dans Go ?

Comment puis-je convertir entre différents types de structures dans Go ?

DDD
Libérer: 2024-10-27 04:25:03
original
896 Les gens l'ont consulté

How can I convert between different struct types in Go?

Conversion de structure dans Go

Dans Go, les structures offrent un moyen pratique de représenter des données avec des champs nommés. Cependant, des situations peuvent survenir dans lesquelles il est nécessaire de convertir des structures de types différents.

Considérons l'exemple suivant :

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

type B struct {
    A
    c string
    // more fields
}</code>
Copier après la connexion

Supposons que vous ayez une variable de type A et que vous souhaitiez la convertir en type B. Existe-t-il un mécanisme intégré pour cette conversion dans Go ?

La réponse est oui. Dans Go, les champs de structure peuvent être intégrés, permettant une conversion facile entre les structures. Dans l'exemple ci-dessus, B intègre A, ce qui signifie qu'il contient tous les champs de A comme ses propres champs.

Pour convertir une variable de type A en type B, vous pouvez simplement attribuer la valeur de A au Champ A intégré dans B. Voici comment :

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

    // convert to type B
    structB := B{A: structA}
}</code>
Copier après la connexion

Ce code attribue la valeur de structA au champ A intégré dans structB, convertissant efficacement structA en type B.

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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal