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
}
Sign up and earn $1000 a day ⋙

Leave a Comment

Comment utiliser les constantes dans Golang

Comment utiliser les constantes dans Golang

Qu'est-ce que Constant ou Const dans Golang ? Voici ce que vous devez savoir sur l’utilisation des constantes dans Go.

Fonctions volatiles en Golang

Fonctions volatiles en Golang

Les fonctions variadiques en Go vous permettent de passer un nombre variable d'arguments à une fonction. Voici tout ce que vous devez savoir sur les fonctions volatiles dans Golang.

Paramètres de retour nommés dans Golang

Paramètres de retour nommés dans Golang

Dans Golang, les paramètres de retour nommés sont souvent appelés paramètres nommés. Golang permet de nommer les paramètres de retour ou les résultats des fonctions dans la signature ou la définition de la fonction.

Mots-clés en Go

Mots-clés en Go

Mot-clé - Les mots-clés sont des mots dans une langue qui sont utilisés pour un processus interne ou qui représentent une action prédéfinie. Voici ce que vous devez savoir sur les mots-clés dans Golang.

Types de données dans Golang

Types de données dans Golang

Le type de données spécifie le type de données qu'une variable Go valide peut contenir. Dans le langage Go, les types sont divisés en quatre catégories comme suit :

Arguments de fonction dans Golang

Arguments de fonction dans Golang

Go prend en charge deux manières principales de transmettre des arguments : le passage par valeur et le passage par référence. Go utilise le passage par valeur par défaut.

Fonction renvoyant plusieurs valeurs en Golang

Fonction renvoyant plusieurs valeurs en Golang

Dans le langage Go, vous êtes autorisé à renvoyer plusieurs valeurs à partir d'une fonction, à l'aide de l'instruction return. En d’autres termes, dans une fonction, une instruction de retour peut renvoyer plusieurs valeurs.

Instruction Switch en Go

Instruction Switch en Go

Golang, comme la plupart des autres langages de programmation, possède une instruction switch. Voici comment utiliser l'instruction switch dans Golang.

Cas à connaître lors de lutilisation dinstructions de sélection en Golang

Cas à connaître lors de lutilisation dinstructions de sélection en Golang

Dans cet article, nous allons apprendre à utiliser le cas par défaut pour éviter le blocage. Mais d'abord, découvrons quel est le cas de blocage lors de l'utilisation de la commande Golang select ?

Comment utiliser Rune dans Golang

Comment utiliser Rune dans Golang

Que sont les runes dans Golang ? Comment utiliser Rune dans Golang ? L'article vous donnera la réponse.

Comment utiliser les opérateurs dans Golang

Comment utiliser les opérateurs dans Golang

Les opérateurs nous permettent d’effectuer différents types d’opérations sur les opérandes. Dans le langage Go, les opérateurs peuvent être classés en fonction de leurs différentes fonctions.

Identifiant vide dans Golang

Identifiant vide dans Golang

_(underscore) dans Golang est appelé identifiant vide. L'identifiant est un nom défini par l'utilisateur des composants du programme utilisés à des fins d'identification.

Comment créer un programme de base en Golang

Comment créer un programme de base en Golang

Bonjour le monde! est le premier programme de base dans tout langage de programmation. Vous pouvez écrire ce premier programme en Golang en suivant les étapes ci-dessous.

Comment installer Go sur Windows

Comment installer Go sur Windows

Golang peut être facilement installé sur Windows. Vous trouverez ci-dessous un guide détaillé étape par étape pour installer Golang sur Windows.

Why doesnt the freezer have a light but the refrigerator does?

Why doesnt the freezer have a light but the refrigerator does?

Refrigerators are familiar appliances in families. Refrigerators usually have 2 compartments, the cool compartment is spacious and has a light that automatically turns on every time the user opens it, while the freezer compartment is narrow and has no light.

2 Ways to Fix Network Congestion That Slows Down Wi-Fi

2 Ways to Fix Network Congestion That Slows Down Wi-Fi

Wi-Fi networks are affected by many factors beyond routers, bandwidth, and interference, but there are some smart ways to boost your network.

Comment rétrograder diOS 17 à iOS 16 sans perte de données avec Tenorshare Reiboot

Comment rétrograder diOS 17 à iOS 16 sans perte de données avec Tenorshare Reiboot

Si vous souhaitez revenir à la version stable d'iOS 16 sur votre téléphone, voici le guide de base pour désinstaller iOS 17 et rétrograder d'iOS 17 à 16.

Que se passe-t-il dans le corps lorsque vous mangez du yaourt tous les jours ?

Que se passe-t-il dans le corps lorsque vous mangez du yaourt tous les jours ?

Le yaourt est un aliment merveilleux. Est-il bon de manger du yaourt tous les jours ? Si vous mangez du yaourt tous les jours, comment votre corps va-t-il changer ? Découvrons-le ensemble !

Quel type de riz est le meilleur pour la santé ?

Quel type de riz est le meilleur pour la santé ?

Cet article présente les types de riz les plus nutritifs et comment maximiser les bienfaits pour la santé du riz que vous choisissez.

Comment se réveiller à lheure le matin

Comment se réveiller à lheure le matin

Établir un horaire de sommeil et une routine de coucher, changer votre réveil et ajuster votre alimentation sont quelques-unes des mesures qui peuvent vous aider à mieux dormir et à vous réveiller à l’heure le matin.

Latest Bathroom Tower Defense Codes and How to Enter Codes

Latest Bathroom Tower Defense Codes and How to Enter Codes

Get Bathroom Tower Defense Roblox game codes and redeem them for exciting rewards. They will help you upgrade or unlock towers with higher damage.

4 façons dont lIA améliore les téléviseurs intelligents

4 façons dont lIA améliore les téléviseurs intelligents

De la meilleure qualité d’image et de son au contrôle vocal et bien plus encore, ces fonctionnalités alimentées par l’IA rendent les téléviseurs intelligents bien meilleurs !

Pourquoi ChatGPT est meilleur que DeepSeek

Pourquoi ChatGPT est meilleur que DeepSeek

Au début, les gens avaient de grands espoirs pour DeepSeek. En tant que chatbot IA commercialisé comme un concurrent sérieux de ChatGPT, il promet des capacités et des expériences de chat intelligentes.

Découvrez Fireflies.ai : le secrétaire IA gratuit qui vous fait gagner des heures de travail

Découvrez Fireflies.ai : le secrétaire IA gratuit qui vous fait gagner des heures de travail

Il est facile de manquer des détails importants lorsque l’on note d’autres éléments essentiels, et essayer de prendre des notes tout en discutant peut être distrayant. Fireflies.ai est la solution.

Comment élever un axolotl dans Minecraft et apprivoiser une salamandre dans Minecraft

Comment élever un axolotl dans Minecraft et apprivoiser une salamandre dans Minecraft

Axolot Minecraft sera un excellent assistant pour les joueurs lorsqu'ils opèrent sous l'eau s'ils savent comment les utiliser.

DeceptionAds Warning: New Malicious Ad Type Exploits Legitimate Services to Display Fake CAPTCHAs

DeceptionAds Warning: New Malicious Ad Type Exploits Legitimate Services to Display Fake CAPTCHAs

DeceptionAds is a new form of malvertising, where scammers use legitimate advertising platforms and make sure their malicious sites avoid censorship as much as possible.

What to do when you see the “AirTag Found Moving With You” warning?

What to do when you see the “AirTag Found Moving With You” warning?

Wondering what the Airtag Found Moving With You warning is? Its a safety feature on AirTags designed to prevent them from being used to track you.

Le pouvoir mystérieux du nombre 33 en numérologie

Le pouvoir mystérieux du nombre 33 en numérologie

En numérologie, le nombre 33 est souvent considéré comme un nombre puissant et mystique. Voici ce que vous devez savoir sur le nombre 33 en numérologie.

What is dark energy?

What is dark energy?

Dark energy is driving the accelerating expansion of the universe, but its nature remains a complete mystery. Heres what you need to know about dark energy.