Maison > développement back-end > Golang > le corps du texte

modification de la carte Golang

PHPz
Libérer: 2023-05-16 11:37:07
original
605 Les gens l'ont consulté

Il est très courant d'utiliser map dans golang, car map peut localiser rapidement les données auxquelles il faut accéder. Cependant, lors de l'utilisation de map, nous rencontrons souvent des situations où nous devons modifier les valeurs de la carte. La façon de modifier la carte dans Golang est légèrement différente des autres langues. Jetons-y un coup d'œil ci-dessous.

En Golang, map est un type de référence qui peut être créé via la fonction make. Voici un exemple de création d'une carte :

m := make(map[string]int)
Copier après la connexion

Les types de valeurs clés de la carte sont respectivement string et int.

Nous pouvons ajouter des éléments à la carte en utilisant la méthode suivante :

m["one"] = 1
Copier après la connexion

Et si nous voulons modifier les éléments de la carte ? Il convient de noter que lors de la modification d'éléments dans une carte dans Golang, vous ne pouvez pas utiliser d'indices pour les modifier. Au lieu de cela, vous devez utiliser la propre méthode de suppression + ajout d'élément de la carte pour réaliser la modification. Voici un exemple de modification de la carte :

m := make(map[string]int)
m["one"] = 1
fmt.Println(m)

// 修改元素
delete(m, "one") // 删除指定元素
m["two"] = 2     // 添加修改后的元素
fmt.Println(m)
Copier après la connexion

Comme vous pouvez le voir, pour l'élément "un" qui doit être modifié, nous devons supprimer l'élément via la fonction de suppression, puis ajouter l'élément modifié "deux" en ajoutant des éléments. Le résultat final est la map{"two":2} modifiée.

Cependant, il convient de noter que si l'élément n'existe pas dans la carte, utiliser directement la fonction delete pour supprimer l'élément provoquera la panique du programme. Par conséquent, lors de la modification de la carte, vous devez d'abord déterminer si l'élément existe dans la carte, puis effectuer l'opération de suppression s'il existe. Voici un exemple pour déterminer si un élément existe et modifier la carte :

m := make(map[string]int)
m["one"] = 1
fmt.Println(m)

// 判断元素是否存在
if _, ok := m["one"]; ok {
    // 存在则进行删除操作
    delete(m, "one")
    m["two"] = 2 // 添加修改后的元素
}
fmt.Println(m)
Copier après la connexion

Grâce à la méthode ci-dessus, nous pouvons modifier en toute sécurité les éléments de la carte.

En plus des méthodes de modification ci-dessus, il existe également une méthode de modification plus spéciale : utiliser la plage pour parcourir la carte afin de modifier les éléments de la carte. Puisque range renvoie une copie des éléments de la carte lors du parcours de la carte, plutôt que l'élément lui-même, vous pouvez modifier les éléments de la carte en modifiant la copie. Voici un exemple d'utilisation du parcours de plage pour modifier une carte :

m := make(map[string]int)
m["one"] = 1
fmt.Println(m)

for key, value := range m {
    if key == "one" {
       m[key] = 2 // 修改副本
    }
}
fmt.Println(m)
Copier après la connexion

Grâce à la méthode de parcours de plage ci-dessus, nous atteignons l'objectif de modifier les éléments de la carte.

Pour résumer, la méthode de modification de la carte dans Golang n'est pas aussi simple que dans d'autres langages, mais en supprimant + en ajoutant des éléments et en utilisant le parcours de plage, nous pouvons atteindre l'objectif de modifier les éléments de la carte. Bien entendu, dans le développement réel, nous devons choisir la méthode de modification appropriée en fonction des besoins spécifiques.

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
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!