Maison >développement back-end >Golang >Comment attribuer des valeurs entre des structures Go similaires avec des types différents ?

Comment attribuer des valeurs entre des structures Go similaires avec des types différents ?

DDD
DDDoriginal
2024-12-13 20:32:18701parcourir

How to Assign Values Between Similar Go Structs with Different Types?

Attribuer des valeurs entre des structures similaires avec des types distincts

Avoir des structures avec des membres identiques mais des types différents peut créer le besoin de transférer des données entre elles. Dans de tels cas, une conversion de type peut fournir une solution.

Considérez les définitions de structure suivantes :

type Common struct {
    Gender int
    From   string
    To     string
}

type Foo struct {
    Id    string
    Name  string
    Extra Common
}

type Bar struct {
    Id    string
    Name  string
    Extra Common
}

Pour transférer des valeurs d'une structure Foo vers une structure Bar, vous pouvez utiliser un type conversion :

foo := Foo{Id: "123", Name: "Joe"}
bar := Bar(foo)

Dans ce cas, la conversion fonctionne car les types sous-jacents de Foo et Bar sont identiques à l'exception de leurs balises struct. La conversion attribue automatiquement les valeurs du membre commun de foo au membre correspondant de bar.

Pour référence, un exemple de terrain de jeu est fourni : [Exemple de terrain de jeu](https://play.golang.org/p /FmF4FjJ0B4n)

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