Golang est un langage de programmation très puissant avec une grande efficacité et une syntaxe simple et facile à apprendre. En ce qui concerne les avantages de Go, l’une des principales raisons réside dans les structures de données intégrées telles que les cartes. Dans cet article, nous examinerons plus en détail l’utilisation de la carte Go.
Go map est une collection non ordonnée de paires clé-valeur, ce qui signifie que vous pouvez utiliser n'importe quel type de valeur comme clé et valeur. Les paires clé-valeur dans la carte ne sont pas stockées dans un ordre particulier, mais plutôt dans l'ordre de leurs valeurs de hachage. Nous discuterons de cette fonctionnalité plus en détail ci-dessous.
Pour créer une carte dans Go, vous devez utiliser la fonction intégrée make(). Voyons comment créer une carte et y ajouter des paires clé-valeur.
m := make(map[string]int) // 创建一个字符串为键,int 类型为值的 map m["foo"] = 42 // 向 map 中添加键为 "foo" 的值为 42 fmt.Println(m["foo"]) // 输出 map 中键为 "foo" 的值,输出 42
Dans cet exemple, nous créons une carte avec des clés de chaîne et des valeurs int, puis nous y ajoutons la valeur 42 avec la clé "foo". La dernière ligne de code affiche la valeur dans la carte avec la clé "foo", nous obtenons donc 42 en sortie.
Il existe également une autre façon de spécifier la valeur initiale lors de la création de la carte. Vous pouvez l'essayer comme suit :
m := map[string]int { "foo": 42, "bar": 24, }
Dans cet exemple, nous avons créé une carte avec deux paires clé-valeur, où la clé "foo" a une valeur de 42 et la clé "bar" a une valeur de 24.
Pour accéder à la valeur d'une map dans Go, vous pouvez utiliser la méthode suivante :
val, ok := m["foo"] fmt.Println(val, ok) // 输出 42, true
Ici la variable val stocke la valeur de la clé "foo" dans la map, et le ok La variable indique si la clé existe dans la carte. Une entrée pour "foo".
S'il n'y a pas une telle entrée dans la carte (c'est-à-dire que "foo" n'est pas une clé), alors la variable ok sera fausse. Donc, si vous souhaitez vérifier si l'accès à la valeur dans la carte a été réussi, vous pouvez vérifier la valeur de la variable ok.
Itérer sur les valeurs d'une carte dans Go est facile, vous pouvez utiliser une boucle for-range.
m := map[string]int { "foo": 42, "bar": 24, } for k, v := range m { fmt.Printf("key: %s, value: %d ", k, v) } // 输出: // key: foo, value: 42 // key: bar, value: 24
Dans cet exemple, nous utilisons une boucle for-range pour parcourir les clés et les valeurs de la carte m et les afficher à chaque itération. Notez que la syntaxe de la boucle for itère non seulement les clés de la carte, mais également les valeurs de la carte.
Supprimer des valeurs dans Go map est également très simple, il vous suffit d'utiliser la fonction delete().
m := map[string]int { "foo": 42, "bar": 24, } delete(m, "foo") // 删除 map 中键为 "foo" 的键值对
Dans cet exemple, nous utilisons la fonction delete() pour supprimer la paire clé-valeur avec la clé "foo" dans la carte. Après suppression, la carte ne contiendra plus d'entrée avec la clé "foo".
Dans Go, la carte a des attributs de taille et de capacité. Cependant, contrairement aux structures de données d’autres langages, les cartes dans Go n’ont pas d’attribut de capacité explicite. Donc, si vous voulez connaître la taille de la carte, vous devez utiliser la fonction intégrée len() comme indiqué ci-dessous :
m := map[string]int { "foo": 42, "bar": 24, } fmt.Println(len(m)) // 输出长度为 2
Ici, nous utilisons la fonction len() pour afficher la longueur de la carte m et sa sortie est 2 .
map est une structure de données très puissante, mais elle doit être utilisée avec prudence. Puisque map est une table de hachage dynamique, de nombreux développeurs la considèrent comme plus rapide que les autres structures de données. Cependant, dans le monde réel, les performances de la carte peuvent être affectées par la gestion de la mémoire et les conflits de hachage, ce qui ralentit le code.
Voici quelques suggestions pour l'utilisation des cartes Go :
Néanmoins, la carte est une structure de données très pratique et flexible. Si vous l’utilisez de manière judicieuse, il sera idéal pour votre code Go.
Dans cet article, nous avons découvert l'utilisation de la carte dans Golang. Nous avons appris comment créer, accéder, itérer et supprimer des entrées dans une carte, ainsi que comment afficher la taille et la capacité d'une carte. Parallèlement, nous proposons également quelques suggestions sur l'utilisation de la carte, dans l'espoir de vous aider à mieux utiliser cette structure de données dans Go.
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!