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

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.

Méthodes portant le même nom dans Golang

Méthodes portant le même nom dans Golang

Golang permet de créer deux ou plusieurs méthodes portant le même nom dans le même package, mais les récepteurs de ces méthodes doivent être de types différents.

Fonctions en Go

Fonctions en Go

En Go, les fonctions sont des blocs de code qui exécutent des tâches spécifiques, qui peuvent être réutilisées dans tout le programme pour économiser de la mémoire, améliorer la lisibilité et gagner du temps.

Portée variable en Go

Portée variable en Go

La portée d'une variable dans Golang détermine la partie du programme où cette variable est accessible. En Go, tous les identifiants ont une portée lexicale qui est déterminée au moment de la compilation.

Health risks of Vitamin B12 deficiency

Health risks of Vitamin B12 deficiency

Your red blood cells, nerves, and brain all depend on vitamin B12. But some people dont get enough of this nutrient, and a vitamin B12 deficiency can cause a number of health problems.

ChatGPT plante globalement

ChatGPT plante globalement

Le matin du 22 novembre, le chatbot ChatGPT d'OpenAI a rencontré de nombreux problèmes et de nombreux utilisateurs dans le monde n'ont pas pu utiliser cette application d'IA.

Comment utiliser WiFi Analyzer pour booster votre connexion Wi-Fi

Comment utiliser WiFi Analyzer pour booster votre connexion Wi-Fi

Le simple achat d’un nouveau routeur Wi-Fi ne suffit pas à booster votre réseau. Pour tirer le meilleur parti de votre Wi-Fi, vous devez vous assurer que vous obtenez la meilleure portée, le meilleur signal et la meilleure fréquence.

Unités de mesure de base en informatique

Unités de mesure de base en informatique

Bit signifie Binary Digit, qui est le terme désignant la plus petite partie de la mémoire d'un ordinateur capable de stocker l'un des deux états d'information : 0 ou 1 (qui peut être compris comme l'état activé ou désactivé d'un transistor dans un ordinateur).

Comment améliorer vos habitudes de prise de notes grâce aux rappels

Comment améliorer vos habitudes de prise de notes grâce aux rappels

Une bonne habitude de mémorisation commence par des rappels : ils arrivent au bon moment pour capturer ces pensées fugaces.

7 applications gratuites qui amélioreront instantanément vos photos sur smartphone

7 applications gratuites qui amélioreront instantanément vos photos sur smartphone

Il existe encore de nombreux outils de photographie gratuits et puissants que vous pouvez utiliser pour améliorer vos photos.

Astuces pour rendre le widget de recherche Google plus utile

Astuces pour rendre le widget de recherche Google plus utile

Le widget Recherche Google vous donne un accès rapide à la recherche Google et au flux Discover, ainsi qu'à la recherche vocale et à Google Lens.

Comment se connecter et désactiver le rappel dexpiration du mot de passe

Comment se connecter et désactiver le rappel dexpiration du mot de passe

Si vous rencontrez le message Votre mot de passe a expiré et doit être modifié sur l'écran de connexion Windows, c'est parce que les mots de passe des comptes locaux Windows expirent tous les 42 jours par défaut.

Comment convertir des images WebP en PNG, JPG sur Chrome, Coc Coc

Comment convertir des images WebP en PNG, JPG sur Chrome, Coc Coc

Pour convertir des images WebP aux formats PNG et JPG, nous pouvons le faire de différentes manières, par exemple en le faisant directement sur l'URL de l'image ou en utilisant des outils de conversion d'image.

4 façons dutiliser le mode Canvas de ChatGPT

4 façons dutiliser le mode Canvas de ChatGPT

Le nouveau mode Canvas de ChatGPT ajoute une nouvelle dimension à l'écriture et à l'édition dans le moteur d'IA générative leader au monde.

Ce que les gens détestent le plus dans les éditeurs de photos IA

Ce que les gens détestent le plus dans les éditeurs de photos IA

Bien que les éditeurs de photos IA puissent considérablement rationaliser votre flux de travail d'édition, ils sont loin d'être parfaits. Il y a quelques choses que les utilisateurs n'aiment pas à leur sujet et dans l'article d'aujourd'hui, vous découvrirez lesquelles.

Nintendo révolutionne la façon dont les jeux numériques sont partagés avec les cartes de jeu virtuelles

Nintendo révolutionne la façon dont les jeux numériques sont partagés avec les cartes de jeu virtuelles

Dans une démarche qui change complètement la façon dont les jeux numériques sont distribués, Nintendo a officiellement présenté le système de cartes de jeu virtuelles lors de l'événement Nintendo Direct.

Instructions pour envoyer des fichiers sur Messenger sur téléphone et ordinateur

Instructions pour envoyer des fichiers sur Messenger sur téléphone et ordinateur

En plus d'envoyer des photos sur Messenger, les utilisateurs peuvent désormais envoyer des fichiers sur l'application à d'autres, avec tous les formats de fichiers de documents tels que pdf, doc, xlx...

Comment ajouter automatiquement des sous-titres et des paroles sur CapCut

Comment ajouter automatiquement des sous-titres et des paroles sur CapCut

CapCut a également la possibilité d'insérer des sous-titres vidéo comme certaines applications de sous-titrage vidéo célèbres. L'application reconnaît ensuite automatiquement le son et la voix dans la vidéo, puis les affiche dans la vidéo.

Différence entre le Wi-Fi 2,4 GHz et 5 GHz

Différence entre le Wi-Fi 2,4 GHz et 5 GHz

Vous venez de décider de remplacer votre ancien routeur. Lorsque vous déballez votre nouveau routeur sans fil, vous vous demandez peut-être pourquoi il existe deux réseaux : 2,4 GHz et 5 GHz. Le réseau 5 GHz est-il donc plus puissant ? Quelle est la différence entre eux ?