Champs anonymes dans les structures Go
Dans Go, les structures peuvent contenir des champs anonymes, qui sont des champs sans noms explicites. Ces champs vous permettent d'intégrer une autre structure ou un autre type dans votre structure actuelle, donnant accès aux champs du type intégré sans les lister explicitement.
Objectif des champs anonymes
Les champs anonymes servent à plusieurs fins :
Accès aux champs anonymes
Vous pouvez accéder aux champs anonymes de la même manière que vous accéderiez aux champs nommés. Le champ promu est accessible directement en utilisant le nom du champ de la structure parent. D'autres champs anonymes sont accessibles à l'aide du nom de champ du type intégré.
Exemple
Considérez le code suivant :
package main import "fmt" type Widget struct { name string } type WrappedWidget struct { Widget // Promoted field Time time.Time Price int64 } func main() { widget := Widget{"my widget"} wrappedWidget := WrappedWidget{widget, time.Now(), 1234} fmt.Printf("Widget named %s, created at %s, has price %d\n", wrappedWidget.name, // Accessing the promoted field wrappedWidget.Time, // Accessing an anonymous field wrappedWidget.Price) // Accessing a normal field }
Sortie :
Widget named my widget, created at 2009-11-10 23:00:00 +0000 UTC m=+0.000000001, has price 1234
Dans cet exemple, WrappedWidget intègre la structure Widget et promeut son nom champ. De ce fait, vous pouvez accéder au champ nom directement sur l'instance WrappedWidget.
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!