Maison  >  Article  >  développement back-end  >  carte de Golang ajoutée

carte de Golang ajoutée

PHPz
PHPzoriginal
2023-05-21 21:28:06844parcourir

Golang est un langage de programmation avancé qui combine les hautes performances du langage C avec la simplicité et la facilité d'utilisation du langage Python. Il s'est développé rapidement et est devenu l'un des langages de programmation les plus utilisés dans l'industrie. Dans cet article, nous aborderons l'opération d'ajout de map dans Golang.

Map est une structure de données utilisée pour stocker des paires clé-valeur. C'est similaire au dictionnaire en Python, au HashMap en Java, etc. Map est un type de référence dans Golang et peut être initialisé à l'aide de la fonction make. Contrairement à un tableau, la longueur d'un Map peut augmenter de manière dynamique, ce qui le rend idéal pour stocker un nombre indéterminé de paires clé-valeur.

Dans Golang, l'opération d'ajout de Map est divisée en deux parties. La première partie consiste à créer une variable de type Map et la deuxième partie consiste à ajouter des données à la Map.

Tout d'abord, nous devons déclarer une variable de type Map. La syntaxe est la suivante :

var m map[keyType]valueType

où keyType représente le type de la clé dans la Map, et valueType représente le type de la Map. valeur dans la carte. Par exemple, si nous voulons créer une Map où la clé est de type chaîne et la valeur est de type entier, l'instruction de déclaration est la suivante :

var m map[string]int

Il est à noter que la déclaration ici, il n'y a pas d'espace mémoire Map Allocate, la fonction make doit donc être utilisée pour initialiser la Map avant de l'utiliser. La syntaxe d'utilisation de la fonction make est la suivante :

m = make(map[keyType]valueType)

Ou vous pouvez utiliser une syntaxe de déclaration courte pour créer rapidement une Map :

m := make(map[string]int )

Maintenant, nous avons Après avoir créé une variable de type Map m, vous pouvez ajouter des paires clé-valeur à m. L'opération d'addition utilisant Map nécessite l'utilisation de l'opérateur d'indice [], qui est similaire à l'opérateur d'indice de tableau dans d'autres langages. Lorsque nous ajoutons un nouvel élément à la Map, nous devons donner la clé et la valeur de l'élément. Voici un exemple de code :

m["one"] = 1
m["two"] = 2

Dans cet exemple, nous avons ajouté deux paires clé-valeur à la carte, et les clés sont "one" et "deux", avec respectivement les valeurs 1 et 2. Si nous voulons modifier les éléments de la Map, nous pouvons utiliser la même syntaxe.

Pour les clés qui existent déjà dans la Map, nous pouvons obtenir leurs valeurs via l'opérateur d'indice. Voici un exemple de code :

fmt.Println(m["one"]) // Sortie 1
fmt.Println(m["two"]) // Sortie 2

Lorsque nous utilisons l'opérateur d'indice pour obtenir le Map Lorsqu'une clé n'existe pas dans la Map, Map renverra une valeur zéro du type de valeur correspondant à la clé. Par exemple, si nous utilisons la ligne de code suivante pour obtenir la valeur avec la clé "trois":

fmt.Println(m["trois"]) // Sorties 0

où 0 est une valeur nulle de type int.

Il convient de noter que dans Golang, Map est une structure de données sécurisée pour la concurrence, de sorte que les éléments de Map peuvent être consultés et modifiés en toute sécurité dans plusieurs goroutines. Cependant, des opérations de lecture et d'écriture simultanées sur la même clé peuvent provoquer une situation de concurrence critique. Par conséquent, lors de l'exécution d'opérations simultanées, nous devons utiliser les fonctions correspondantes fournies dans le package de synchronisation pour garantir la sécurité de la carte.

En bref, Map in Golang est une structure de données puissante qui fournit de nombreuses opérations pratiques. Nous pouvons initialiser la carte à l'aide de la fonction make et ajouter de nouveaux éléments à la carte via l'opérateur d'indice. Les cartes sont très efficaces lors de l'accès aux éléments et sont également très sûres dans les applications multithread.

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