Maison  >  Article  >  développement back-end  >  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
DDDoriginal
2024-10-27 04:25:03764parcourir

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>

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>

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!

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