Structs et interfaces
Go Structs
Group related values into your own type with named fields.
Ce que vous allez apprendre
- Defining a struct
- Fields and %+v
- Structs are copied
User
Name"Ada"Age37ActivetrueYour own type with named fields
A struct is a type you define by naming its fields. It keeps related data together, such as the name, age and status of a user.
Fields are read and changed with a dot. %v prints the values and %+v adds the field names. Assigning a struct copies it, so changing guest does not change user. A struct can also be declared in place without a name.
Points clés
- Fields are read and changed with a dot.
- %+v prints the field names too.
- Assigning a struct copies it.
Exemple Go exécutable
main.go
package main
import "fmt"
type User struct {
Name string
Age int
Active bool
}
func main() {
user := User{Name: "Ada", Age: 36, Active: true}
user.Age++
fmt.Println(user.Name, user.Age)
fmt.Printf("%v\n%+v\n", user, user)
guest := user // structs are copied on assignment
guest.Name = "Guest"
fmt.Println(user.Name, guest.Name)
point := struct{ X, Y int }{3, 4}
fmt.Println(point.X + point.Y)
}
Ada 37
{Ada 37 true}
{Name:Ada Age:37 Active:true}
Ada Guest
7S'entraîner
Ouvrez l'exemple dans le compilateur en ligne, modifiez une valeur ou ajoutez une ligne, et devinez la sortie avant de l'exécuter. Cassez ensuite le code exprès et lisez le message du compilateur.
Leçon terminée ?
Marquez-la comme apprise pour suivre votre progression.
Votre progression est enregistrée dans ce navigateur Connectez-vous pour la garder sur tous vos appareils.
S'entraîner avec un défi
Utilisez le contenu de cette leçon pour résoudre un vrai problème. Chaque défi s'exécute dans le navigateur, avec des tests instantanés et une revue par l'IA.
Tous les défis