Maison > développement back-end > Golang > élément de suppression de la carte Golang

élément de suppression de la carte Golang

王林
Libérer: 2023-05-10 12:21:06
original
1263 Les gens l'ont consulté

La 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.

  1. 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]
}
Copier après la connexion

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é.

  1. 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]
}
Copier après la connexion

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.

  1. 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[]
}
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal