Structures et champs anonymes dans Golang

Dans Golang , les structures (ou structs) nous permettent de regrouper des éléments de différents types en une seule unité, ce qui est utile pour modéliser des entités du monde réel. Les structures anonymes dans Golang sont des structures temporaires sans nom utilisées à des fins ponctuelles, tandis que les champs anonymes permettent l'intégration de champs sans nom.

Structures et champs anonymes dans Golang

Par exemple:

package main
import "fmt"

// struct học sinh với cấu trúc và trường ẩn danh
type Student struct {
    struct {    // Cấu trúc bên trong ẩn danh cho thông tin cá nhân
        name string
        enrollment int
    }
    GPA float64  // Trường chuẩn
}

func main() {
    student := Student{
        struct {
            name string
            enrollment int
        }{
            name: "A",
            enrollment: 12345,
        },
        GPA: 3.8,
    }
    fmt.Println("Name:", student.name)
    fmt.Println("Enrollment:", student.enrollment)
    fmt.Println("GPA:", student.GPA)
}

Syntaxe:

variable := struct {
    field1 dataType1
    field2 dataType2                                                          # Cấu trúc ẩn danh
    // Trường bổ sung khi cần
}{value1, value2}


type StructName struct {
    dataType1
    dataType2                                                                    # Trường ẩn danh                                        
    // Trường ẩn danh bổ sung
}

Structures anonymes en Go

Les structures anonymes en Go sont définies sans nom et sont utiles pour créer des structures temporaires et jetables. Voici la syntaxe et l'exemple de code.

Syntaxe:

variable := struct {
    field1 dataType1
    field2 dataType2
    // Các trường bổ sung khi cần
}{value1, value2}

Par exemple:

package main
import "fmt"
// Cấu trúc sinh viên với cấu trúc bên trong ẩn danh cho thông tin cá nhân
type Student struct {
    personalDetails struct { // Cấu trúc ẩn danh bên trong cho thông tin cá nhân
        name       string
        enrollment int
    }
    GPA float64 // Trường chuẩn
}
func main() {
    // Khởi tạo cấu trúc bên trong cho student
    student := Student{
        personalDetails: struct {
            name       string
            enrollment int
        }{
            name:       "A",
            enrollment: 12345,
        },
        GPA: 3.8,
    }
    // Hiện giá trị
    fmt.Println("Name:", student.personalDetails.name)
    fmt.Println("Enrollment:", student.personalDetails.enrollment)
    fmt.Println("GPA:", student.GPA)
}

Résultat:

Name: A
Enrollment: 12345
GPA: 3.8

Ce code définit une structure Student avec une structure personalDetails anonyme à l'intérieur, stockant le nom et les informations d'inscription. Initialisez ensuite l'étudiant avec les valeurs de ces champs et imprimez-les.

Champs anonymes

Les champs anonymes dans Go vous permettent de définir des champs sans noms explicites, seuls leurs types sont spécifiés. Ceci est utile lorsque les champs suivent naturellement le nom du type.

Syntaxe

type StructName struct {
    dataType1
    dataType2
    // Additional anonymous fields
}

Par exemple:

package main
import "fmt"

// Cấu trúc học sinh bằng các trường ẩn danh
type Student struct {
    int     // Số đăng ký (trường ẩn danh)
    string  // Tên trường ẩn danh
    float64 // GPA (trường ẩn danh)
}

func main() {
    // Khởi tạo struct học sinh với các trường ẩn danh
    student := Student{12345, "A", 3.8}

    // Hiện giá trị
    fmt.Println("Enrollment:", student.int)
    fmt.Println("Name:", student.string)
    fmt.Println("GPA:", student.float64)
}

Résultat:

Enrollment: 12345
Name: A
GPA: 3.8

Ici, les types de données ( int, string, float64 ) agissent comme des noms de champs, donc l'accès aux valeurs dépend des types.

Points importants à retenir concernant les champs anonymes dans Golang

1. Exigence unique : vous ne pouvez pas utiliser deux champs du même type dans une même structure. Par exemple:

type InvalidStudent struct {
    int
    int // Error: duplicate type
}

2. Combinaison de champs nommés et anonymes : vous pouvez combiner des champs anonymes et nommés dans une structure.

type Student struct {
    id int // Named field
    int    // Anonymous field
}

Laisser un commentaire

Comment jeter une batterie au lithium à Angers ? Les points de collecte et les précautions

Comment jeter une batterie au lithium à Angers ? Les points de collecte et les précautions

À Angers, découvrez où déposer une batterie au lithium, comment la sécuriser et quoi faire si elle est gonflée, endommagée ou chaude.

Comment jeter une batterie au lithium à Aix-en-Provence ?

Comment jeter une batterie au lithium à Aix-en-Provence ?

Découvrez où déposer une batterie au lithium à Aix-en-Provence et les précautions à prendre selon son état, sa taille et son appareil.

Comment jeter des néons à Nîmes ? Les bons points de collecte et les précautions à prendre

Comment jeter des néons à Nîmes ? Les bons points de collecte et les précautions à prendre

À Nîmes, les tubes fluorescents et LED ne vont pas à la poubelle. Découvrez où les déposer, comment les transporter et quoi faire s’ils se cassent.

Comment jeter un vélo à Perpignan ? Guide pratique du tri et du réemploi

Comment jeter un vélo à Perpignan ? Guide pratique du tri et du réemploi

Vélo usé à Perpignan : vérifiez le réemploi, le badge, l’adresse de la déchèterie et les précautions pour un vélo électrique.

Comment jeter un téléviseur à Reims ? Les solutions simples et les erreurs à éviter

Comment jeter un téléviseur à Reims ? Les solutions simples et les erreurs à éviter

À Reims, un téléviseur usagé est un DEEE : déchèterie, reprise en magasin ou enlèvement sur rendez-vous. Voici la marche à suivre sans erreur.

Prime d’activité et chômage : peut-on cumuler les deux ?

Prime d’activité et chômage : peut-on cumuler les deux ?

Prime d’activité et chômage peuvent parfois se cumuler. Découvrez dans quels cas, quelles ressources sont prises en compte et comment éviter les erreurs de déclaration.

Comment jeter un ordinateur à Aix-en-Provence ? Les solutions pratiques et sûres

Comment jeter un ordinateur à Aix-en-Provence ? Les solutions pratiques et sûres

À Aix-en-Provence, un ordinateur usagé est un DEEE : déchèterie, reprise en magasin, réemploi et effacement des données. Guide pratique 2026.

Comment jeter de l’huile de cuisson usagée à Nice ? Le guide pratique

Comment jeter de l’huile de cuisson usagée à Nice ? Le guide pratique

À Nice, où déposer l’huile de cuisson usagée ? Préparation, déchèteries, badge, horaires saisonniers et vérifications pour éviter les erreurs.

Déchèterie à Metz : horaires, accès et déchets acceptés

Déchèterie à Metz : horaires, accès et déchets acceptés

Déchèterie à Metz : horaires 2026, adresses, conditions d’accès, déchets acceptés ou refusés, limites de volume et conseils avant de partir.

Comment jeter une batterie externe à Annecy ?

Comment jeter une batterie externe à Annecy ?

Batterie externe intacte, gonflée ou fuyante : découvrez où la déposer à Annecy, comment la transporter et quelles erreurs éviter avec le lithium.