Maison  >  Article  >  développement back-end  >  modification de la carte Golang

modification de la carte Golang

PHPz
PHPzoriginal
2023-05-16 11:37:07652parcourir

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)

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

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)

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)

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)

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!

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