Peu importe le nom, les cartes fournissent une polyvalence, des looks, des mises à jour et des suppressions rapides et efficaces en utilisant l'ensemble des clés uniques.
L'objectif principal de ce tutoriel est de vous guider à travers la création et l'utilisation de cartes dans le langage de programmation Go.
Aller créer une carte
Il existe deux façons de créer une carte dans le langage de programmation Go.
Cartographie littérale
La première méthode consiste à utiliser une carte de mots clés suivie du type de données de la clé (enfermée entre crochets) et du type de données des valeurs.
Une fois que vous avez défini la carte, vous pouvez insérer l'ensemble de paires de valeurs clés à l'intérieur d'une paire de croyants.
La syntaxe est comme indiqué:
map [key] valeur
valeur clé
Les cartes sont très utiles lors du stockage des données connexes, telles que les informations utilisateur. Par exemple, le code suivant crée une carte stockant les informations utilisateur.
user_info: = map [string] String
"id": "1",
"Nom": "Jonh Doe",
"Département": "Développeur de jeu",
"Salaire": "140 000 $",
"pays": "Bulgarie",
Notez que les paires de valeurs clés de la carte sont enfermées à l'intérieur des accolades bouclées. La valeur à gauche du côlon représente la clé, tandis que la valeur à droite représente la valeur associée.
Dans l'exemple ci-dessus, nous formons les paires de valeurs clés comme JSON pour une lisibilité plus facile; Cependant, vous pouvez avoir un seul liner:
user_info: = map [string] String
"id": "1", "nom": "Jonh Doe", "Department": "Game Developer", "Salaire": "140 000 $", "pays": "Bulgarie",
Assurez-vous de séparer chaque paire de valeurs clés avec une virgule.
Approche fonctionnelle
La deuxième méthode que vous pouvez utiliser pour créer une carte dans Go est la fonction de faire. Il s'agit d'une fonction intégrée qui vous permet de passer le type de carte pour créer. Il renvoie une carte initialisée. La syntaxe est comme indiqué ci-dessous:
Make (map [key_type] value_type)
La fonction renverra une carte vide.
Vous pouvez attribuer une carte à une variable comme d'autres langages de programmation, comme indiqué dans les exemples ci-dessus.
Pour afficher les valeurs clés du tableau, vous pouvez utiliser le FMT.Méthode println comme indiqué dans l'exemple ci-dessous:
package principal
Importer "FMT"
func main ()
user_info: = map [string] String
"id": "1", "nom": "Jonh Doe", "Department": "Game Developer", "Salaire": "140 000 $", "pays": "Bulgarie",
fmt.Println ("maps:", user_info)
Le code ci-dessus doit renvoyer la sortie comme indiqué:
::sortir
Cartes: Carte [Pays: Bulgarie Département: Game Développeur ID: 1 Nom: Jonh Doe Salaire: 140 000 $]
Accéder aux éléments de carte
Pour obtenir la valeur stockée dans une carte, vous pouvez utiliser sa clé unique. Golang doit renvoyer la valeur associée à la clé spécifiée.
Par exemple:
fmt.Println (user_info ["name"])
L'extrait ci-dessus doit renvoyer la valeur associée au «nom» clé de la carte user_info.
La sortie est comme indiqué »
::sortir
Jonh Doe
Étant donné que chaque clé d'une carte est unique, le code ci-dessus doit toujours renvoyer une seule valeur associée à une clé s'il existe.
Par conséquent, l'utilisation des cartes est efficace pour les informations connexes.
Itération de cartographie
La question suivante vient, comment itérez-vous sur les éléments d'une carte? Contrairement à d'autres langages de programmation, qui fournissent des fonctions intégrées pour récupérer les clés et les valeurs, GO ne fait pas.
Cependant, il vous permet d'itérer sur une carte en utilisant l'opérateur de plage.
Prenons l'exemple de la carte user_info que nous avons créée plus tôt. Nous pouvons utiliser l'opérateur de plage pour itérer les clés et les valeurs de la carte, comme indiqué dans l'exemple de code ci-dessous:
pour k, v: = plage user_info
fmt.Printf ("% q ->% q \ n", k, v)
Dans le code ci-dessus, Go itérera les éléments et renvoie chaque clé et sa valeur associée. Notez que GO créera les variables avec le type de jeu. Par exemple, la clé et la valeur sont des chaînes; Par conséquent, nous pouvons utiliser le format% Q pour imprimer sa valeur en utilisant la fonction printf.
La sortie résultante est comme indiqué:
"id" -> "1"
"nom" -> "Jonh Doe"
"Département" -> "Développeur de jeu"
"Salaire" -> "140 000 $"
"pays" -> "Bulgarie"
Que se passe-t-il lorsque vous avez besoin d'accéder aux clés uniquement? Vous pouvez déclarer une variable pour stocker les clés, puis utiliser l'opérateur de plage dans un tel scénario.
Considérez l'exemple ci-dessous:
touches: = [] String
pour k: = plage user_info
clés = ajouter (clés, k)
fmt.Printf ("% q", clés)
Dans l'exemple ci-dessus, nous commençons par définir une tranche pour stocker les clés de la carte. Nous utilisons ensuite l'opérateur de plage pour itérer les clés et ajoutez chaque clé de la tranche.
Enfin, nous imprimons les touches en utilisant la méthode printf. La sortie résultante est comme indiqué:
["id" "nom" "département" "salaire" "pays"]
Vous appliquez la même technique ci-dessus pour obtenir les valeurs d'une carte.
Longueur de carte
À Golang, vous pouvez obtenir la durée d'une carte en utilisant la méthode LEN. Cela renvoie le nombre d'éléments sur la carte.
Par exemple:
fmt.Println (len (user_info))
Le nombre d'éléments sur la carte est:
5
Ajouter, mettre à jour, supprimer les clés et les valeurs
En go, les cartes sont mutables. Cela signifie que vous pouvez ajouter, supprimer ou mettre à jour les éléments existants sur la carte.
Voyons quelques exemples de la façon d'effectuer de telles opérations.
Ajoute un nouvel objet
Pour ajouter un nouvel élément à une carte, référencez le nom de la carte suivi de la clé de carré-crochets et d'un seul chant (=) pour attribuer une nouvelle valeur.
La syntaxe est comme indiqué:
map_name [key] = valeur
Ajoutons une nouvelle clé à la carte user_info comme indiqué dans l'exemple ci-dessous:
user_info ["dob"] = "06/06/1995"
Dans l'exemple ci-dessus, nous ajoutons un nouvel élément appelé «dob» à la carte user_info. Gardez à l'esprit que les éléments sur la carte ne sont pas ordonnés. Par conséquent, l'ajout d'un nouvel élément ne signifie pas qu'il apparaîtra comme le dernier ou le premier élément de la carte.
Mettre à jour un article
Supposons que nous devons modifier une information sur l'utilisateur. Par exemple, disons que l'utilisateur a obtenu une augmentation (yay!), et nous devons mettre à jour les informations.
Nous pouvons utiliser une syntaxe similaire à l'ajout d'une nouvelle clé. Cependant, nous faisons référence à une clé existante dans la carte dans ce cas.
Un exemple est comme indiqué:
user_info ["salaire"] = "160 000 $"
Le code ci-dessus doit modifier la valeur de la clé «salaire» à la nouvelle valeur spécifiée.
La sortie résultante est comme indiqué:
fmt.Println (user_info)
La sortie est comme indiqué:
[Pays: Bulgarie Département: Développeur de jeux DOB: 06/06/1995 ID: 1 Nom: Jonh Doe Salaire: 160 000 $]
Remarque La nouvelle valeur de la clé de salaire est mise à jour pour refléter les nouvelles données.
Astuce: une meilleure façon de penser à cela est, si l'élément existe, mettre à jour la valeur; Sinon, créez un nouvel élément.
Supprimer un article
Go vous permet également de supprimer un élément de la carte. Nous utilisons la méthode delete (), qui prend deux arguments.
Le premier argument est le nom de la variable de carte sous laquelle supprimer un élément, et le second est la clé à supprimer.
Regardez l'exemple ci-dessous:
supprimer (user_info, "département")
fmt.Println (user_info)
La fonction supprimera le «département» de la carte user_info. La carte résultante est comme indiqué:
Carte [Pays: Bulgarie ID: 1 Nom: Jonh Doe Salaire: 140 000 $]
Effacer une carte
Supposons que vous souhaitiez effacer une carte de tous les éléments existants? Pour ce faire, vous pouvez définir les valeurs sur une carte vide avec la même clé et le même type de valeur.
Par exemple:
user_info = map [String] String
L'exemple ci-dessus doit réinitialiser la carte user_info sur une carte vide.
Astuce: les cartes sont une collection non ordonnée, et les opérations telles que les itérations n'entraîneront pas toujours le même ordre d'articles. Si la commande est une nécessité, considérez un autre type de données.
Conclusion
Dans ce guide, nous avons exploré des cartes dans le langage de programmation Go. À l'aide de cartes, vous pouvez créer un ensemble d'éléments non ordonnés et utiliser chaque clé unique pour accéder aux éléments. Cela supprime la nécessité d'index pour accéder aux éléments.
Merci d'avoir lu et reviens pour plus de tutoriels Go.