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>
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!