Duplication de structures avec des membres équivalents et des types différents
Considérez le scénario suivant : vous avez deux structures distinctes, Foo et Bar, chacune possédant des propriétés identiques. membres mais différant par leurs types sous-jacents. Votre objectif est de transférer le contenu d'une structure à l'autre.
Dans ce cas, 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 }
Étant donné les instances foo de Foo et bar de Bar, comment bar peut-il être dupliqué à partir de foo ?
Solution : conversion de type
Depuis la base Les types de Foo et Bar sont structurellement équivalents, une conversion de type peut être utilisée pour modifier le type d'objet. Le code suivant montre comment copier une valeur Foo en valeur Bar à l'aide de la conversion :
foo := Foo{Id: "123", Name: "Joe"} bar := Bar(foo)
Note de compatibilité des types
Il est crucial de se rappeler que cette technique de conversion de type n'est efficace que lorsque les types sous-jacents des structures sont essentiellement identiques, à l'exception des balises struct.
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!