Lors de la conception d'un programme, l'utilisation de structures est une méthode très courante. Dans le langage Go, la structure est un concept très puissant qui peut nous aider à mieux organiser et gérer le code. Dans cet article, nous expliquerons en détail comment utiliser les structures dans Go.
Qu'est-ce qu'une structure ?
Structure est un type de données personnalisé composé de plusieurs champs de données. Chaque champ peut être n'importe quel type de données de base, tel qu'un nombre, une chaîne ou une valeur booléenne, ou une combinaison d'autres structures. Les champs d'une structure sont accessibles en utilisant la notation par points, similaire aux propriétés d'objet.
Dans Go, vous pouvez utiliser des types pour définir des structures.
type Person struct {
name string age int language []string
}
Cet exemple définit une structure nommée Person, qui comporte trois champs : nom, âge et langue. name est de type chaîne, age est de type int et language est une tranche de chaîne. Nous pouvons utiliser la commande suivante pour créer une nouvelle structure Personne.
person := Person{name: "Tom", âge: 25, langue: []string{"Chinese", "English"}}
Les champs de la structure sont accessibles à l'aide de points :
fmt.Println (person.name)
Champs anonymes dans les structures Go
Dans Go, vous pouvez également utiliser des champs anonymes pour rendre la structure plus compacte. Les champs anonymes sont des champs de structure et n'ont pas de nom. Lorsque deux champs ou plus ont le même type, ils peuvent être définis comme champs anonymes.
Voici un exemple qui prend en charge les champs anonymes :
type Person struct {
name string address
}
type address struct {
street string city string state string
}
Dans le code ci-dessus, la structure Person contient un champ anonyme nommé adresse . La structure définit également un type d'adresse comportant trois champs : rue, ville et état. Nous pouvons accéder aux champs imbriqués comme celui-ci.
personne := Personne{nom : "Tom", adresse : adresse{rue : "Main St.", ville : "New York", état : "NY"}}
fmt.Println(person.address.city )
Structures imbriquées dans les structures Go
Les structures peuvent être imbriquées les unes dans les autres, ce qui nous permet de créer des structures de données plus complexes. Une structure peut être intégrée dans une autre structure.
type Person struct {
name string contact Contact
}
type Contact struct {
email string phone string address string
}
Dans le code ci-dessus, une structure Contact est imbriquée dans la structure Person. Une nouvelle structure Personne peut être créée de la manière suivante.
personne := Personne{nom : "Tom", contact : Contact{email : "tom@gmail.com", téléphone : "888-888-8888", adresse : "Main St."}}
fmt. Println(person.contact.phone)
Méthodes dans les structures Go
Dans Go, les structures peuvent définir des méthodes, qui peuvent être appelées via des instances de structure. Une méthode est une fonction spéciale qui ne peut être appelée que via une structure.
Nous pouvons ajouter des méthodes en utilisant le code suivant.
type Person struct {
name string age int
}
func (p Person) sayHello() {
fmt.Printf("Hello, my name is %s, I'm %d years old.
", p.name, p.age)
}
Dans le code ci-dessus, sayHello() est une méthode de nom pour la structure Person.
Nous pouvons utiliser le code suivant pour appeler cette méthode
person := Person{name: "Tom", age: 25}
person.sayHello()
Dans l'exemple ci-dessus, nous avons créé. un objet Person et utilisé l'objet pour appeler la méthode sayHello(). Cette méthode affichera un message d'accueil sur la console
Conclusion
La structure Go est un concept très important dans la programmation orientée objet. et gérer le code. Dans cet article, nous présentons en détail comment utiliser les structures dans Go. Nous avons appris la définition des structures, l'utilisation de champs anonymes et de structures imbriquées, ainsi que la définition et l'appel. à vous et vous aider à mieux maîtriser la programmation en langage Go.
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!