Maison >développement back-end >Golang >Comment l'apprentissage de Go Structs m'a finalement fait aimer le codage

Comment l'apprentissage de Go Structs m'a finalement fait aimer le codage

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-10-07 16:08:29549parcourir

"Je me souviens encore des premiers jours où je luttais avec le code.
How Learning Go Structs Finally Made Me Love Coding

Les trucs de base ? J'y arrivais. Mais ensuite sont arrivées les structures, et tout semblait flou. Je n'arrêtais pas de casser des choses et mon code était en désordre. Qu'est-ce que je faisais de mal ?
Ce n’est que lorsque je me suis assis, que j’ai appris les bases des structures Go et que j’ai commencé à les utiliser efficacement que les choses ont finalement cliqué. Ce fut le tournant. Soudain, le code est devenu plus organisé, efficace et propre. Cela a transformé ma façon d'aborder la programmation et j'ai commencé à aimer coder comme jamais auparavant."
Si vous êtes dans le même bateau et que vous vous demandez pourquoi les structures sont si puissantes, cet article est fait pour vous. Laissez-moi vous guider dans un voyage pour démystifier les structures et vous montrer comment elles peuvent changer votre jeu de codage !

How Learning Go Structs Finally Made Me Love Coding

Qu'est-ce qu'une Struct ?
Dans Go, une structure est comme un plan qui vous permet de regrouper des données de différents types. Considérez-le comme une structure de données personnalisée pour modéliser des entités complexes telles que Personne, Voiture ou Livre.
Par exemple, une structure Personne peut contenir des champs tels que le nom, l’âge et le sexe d’une personne, parfaits pour regrouper des informations associées.
Pourquoi utiliser des structures ?
Les structures vous aident à organiser et à regrouper les données associées, ce qui facilite la gestion de modèles de données complexes. Que vous créiez une application qui suit les utilisateurs, les produits ou l'inventaire, les structures vous permettent de regrouper différents types de données, tout comme une adresse contient une rue, une ville et un code postal.
Déclarer une structure : les bases
La syntaxe est super simple. Vous définissez une structure avec le type de mot-clé, suivi du nom de la structure, puis des champs entre accolades :



type Person struct {
    Name   string
    Age    int
    Gender string
}


Vous disposez désormais d'une structure Person qui contient trois champs : Nom (chaîne), Âge (int) et Sexe (chaîne).

Accès et modification des champs Struct

Pour accéder aux champs d'une struct, vous utilisez simplement l'opérateur point (.) :


fmt.Println("Name:", person.Name)
fmt.Println("Age:", person.Age)
fmt.Println("Gender:", person.Gender)



Changer de champ ? Facile! Vous pouvez modifier les valeurs comme vous le feriez avec n'importe quelle autre variable :


person.Age = 26
fmt.Println("Updated Age:", person.Age)


Pourquoi les codeurs ne font-ils pas confiance aux structures ?
Parce qu'ils ne veulent pas s'occuper de leurs "terrains"
How Learning Go Structs Finally Made Me Love Coding

Méthodes Struct : ajout de comportement

C’est ici que les choses deviennent encore plus intéressantes. Vous pouvez attacher des méthodes aux structures pour leur donner un comportement. C'est comme donner à une structure la capacité de faire des choses !

Définissons une méthode Greet pour la structure Person :


func (p Person) Greet() string {
    return "Hello, my name is " + p.Name
}



Vous pouvez maintenant demander à la personne de vous saluer :


fmt.Println(person.Greet())



Structs avec des structures imbriquées : Rendre les choses complexes, mais simples

Les structures Go peuvent contenir d'autres structures, ce qui est utile lorsque vous souhaitez modéliser des données plus complexes. Imaginez une structure Student qui inclut une structure Address pour un profil complet :


type Address struct {
    City  string
    State string
}

type Student struct {
    Name    string
    Age     int
    Address Address
}



Vous pouvez désormais créer un étudiant et accéder aux champs imbriqués comme celui-ci :


student := Student{
    Name: "Fred Gitonga",
    Age:  21,
    Address: Address{
        City:  "Kisumu",
        State: "Mamboleo",
    },
}

fmt.Println(student.Name, "lives in", student.Address.City)



"Les programmes doivent être écrits pour que les gens puissent les lire, et seulement accessoirement pour que les machines puissent les exécuter." -Harold Abelson

Erreurs courantes avec les structures

Avant de vous déchaîner avec les structures, méfiez-vous de ces pièges courants :

  1. Champs non initialisés : Go attribue automatiquement des valeurs nulles par défaut (comme 0 pour les entiers ou "" pour les chaînes) aux champs si vous ne les initialisez pas.
  2. Utiliser des pointeurs lorsque cela n'est pas nécessaire : pour les petites structures, il est souvent plus efficace de les transmettre par valeur plutôt que par référence.

La pratique rend parfait !

  1. Facile : créez une structure de livre avec les champs Titre, Auteur et Pages. Écrivez une méthode pour afficher les informations du livre.
  2. Intermédiaire : créez une structure Library contenant plusieurs structures Book. Écrivez des méthodes pour ajouter un livre et répertorier tous les livres de la bibliothèque.
  3. Avancé : créez une structure de véhicule et gérez une flotte de véhicules à l'aide d'une structure de flotte, avec ajout, suppression et recherche de véhicules par année.

Conclusion : principaux points à retenir

  1. Les structures sont essentielles pour regrouper les données associées dans Go.
  2. Vous pouvez améliorer les structures avec des méthodes et même des structures imbriquées.
  3. Utilisez des pointeurs lorsque vous devez modifier la structure d'origine à l'intérieur d'une fonction.

Si les structures Go peuvent me faciliter le codage, elles feront certainement la même chose pour vous. Bon codage !

How Learning Go Structs Finally Made Me Love Coding

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn