élément de suppression de la carte Golang
May 10, 2023 pm 12:21 PMLa carte en golang est une structure de données très utile qui peut mapper une paire clé-valeur à une autre valeur, permettant une recherche et un stockage rapides. Normalement, nous ajoutons des éléments à une carte, mais parfois nous devons également supprimer des éléments de la carte. Cet article explique comment supprimer des éléments de la carte dans Golang.
- Supprimer un seul élément
La méthode pour supprimer un seul élément est très simple, il suffit d'utiliser la fonction delete(). Par exemple :
package main import "fmt" func main() { // 定义一个字符串到整数的map m := map[string]int{"a": 1, "b": 2, "c": 3} // 删除key为a的元素 delete(m, "a") // 输出map中的元素 fmt.Println(m) // 输出:map[b:2 c:3] }
Nous définissons d'abord une carte de la chaîne à l'entier, puis utilisons la fonction delete() pour supprimer l'élément avec la clé a. Enfin, les éléments de la carte sont affichés et vous pouvez voir que l'élément a a été supprimé.
- Supprimer des éléments inexistants
Lorsque nous supprimons un élément qui n'existe pas dans la carte, la fonction delete() ne générera pas une erreur, Aucune modification ne sera apportée à la carte. Par exemple :
package main import "fmt" func main() { // 定义一个字符串到整数的map m := map[string]int{"a": 1, "b": 2, "c": 3} // 删除key为d的元素 delete(m, "d") // 输出map中的元素 fmt.Println(m) // 输出:map[a:1 b:2 c:3] }
Dans l'exemple ci-dessus, nous avons supprimé l'élément avec la clé d qui n'existait pas dans la carte, mais le programme n'a pas signalé d'erreur et n'a apporté aucune modification à la carte.
- Supprimer tous les éléments
Pour supprimer tous les éléments, nous pouvons utiliser une boucle for pour parcourir la carte puis supprimer chaque élément à son tour. Par exemple :
package main import "fmt" func main() { // 定义一个字符串到整数的map m := map[string]int{"a": 1, "b": 2, "c": 3} // 删除所有元素 for k := range m { delete(m, k) } // 输出map中的元素 fmt.Println(m) // 输出:map[] }
Dans l'exemple ci-dessus, nous définissons d'abord une carte de la chaîne à l'entier, puis utilisons une boucle for pour parcourir la carte et supprimer chaque élément à tour de rôle. Enfin, les éléments de la carte sont affichés et vous pouvez voir que la carte est vide.
Il est à noter que lors de la suppression d'éléments dans la carte, on ne peut pas utiliser une boucle telle que for i, val := range m, car cette boucle traversera deux fois les éléments de la carte et supprimera Après des éléments sont ajoutés, la longueur de la carte et le compteur parcouru changeront, ce qui peut provoquer le crash du programme. Par conséquent, nous ne pouvons utiliser qu'une boucle comme for k := range m pour parcourir la carte.
Résumé :
Pour supprimer des éléments dans une carte dans Golang, nous pouvons utiliser la fonction delete() pour supprimer un seul élément, ou nous pouvons utiliser une boucle for pour parcourir la carte, puis supprimez chaque élément tour à tour. Il convient de noter que lors de la suppression d'éléments dans une carte, une boucle telle que for k := range m doit être utilisée pour parcourir la carte, mais une boucle telle que for i, val := range m ne peut pas être utilisée, sinon un programme une erreur peut survenir.
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!

Article chaud

Outils chauds Tags

Article chaud

Tags d'article chaud

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

GO Language Pack Import: Quelle est la différence entre le soulignement et sans soulignement?

Comment mettre en œuvre le transfert d'informations à court terme entre les pages du cadre Beego?

Comment écrire des objets et des talons simulés pour les tests en Go?

Comment convertir la liste des résultats de la requête MySQL en une tranche de structure personnalisée dans le langage Go?

Comment puis-je définir des contraintes de type personnalisé pour les génériques en Go?

Comment puis-je utiliser des outils de traçage pour comprendre le flux d'exécution de mes applications GO?

Comment rédigez-vous des tests unitaires en Go?

Comment écrire des fichiers dans GO Language de manière pratique?
