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

augmentation de la carte du Golang

WBOY
WBOYoriginal
2023-05-18 22:59:071512parcourir

Golang est un langage de programmation très populaire, utilisé pour le traitement de données à grande échelle. La carte est une structure de données efficace utilisée pour stocker des paires clé-valeur, ce qui permet une recherche et une récupération rapides. Bien que l'utilisation de map soit très pratique, dans les applications réelles, il peut y avoir des situations dans lesquelles de nouvelles paires clé-valeur doivent être ajoutées. Alors, comment pouvez-vous ajouter de nouvelles paires clé-valeur à la carte Golang ? Cet article vous présentera trois méthodes.

Méthode 1 : affectation directe

Dans Golang, le moyen le plus simple d'ajouter une nouvelle paire clé-valeur à une carte est d'attribuer directement une valeur à la clé cible. Cela peut être réalisé en utilisant le code suivant :

package main

import "fmt"

func main() {
    // 声明并初始化map
    scores := make(map[string]int)
    scores["Tom"] = 90
    scores["Jerry"] = 80
    scores["Alice"] = 95
    
    fmt.Println(scores)
    
    // 增加新键值对
    scores["Bob"] = 85
    
    fmt.Println(scores)
}

Les résultats d'exécution sont les suivants :

map[Tom:90 Jerry:80 Alice:95]
map[Tom:90 Jerry:80 Alice:95 Bob:85]

Dans le code ci-dessus, nous initialisons d'abord une carte, qui contient trois paires clé-valeur. Ensuite, nous ajoutons une nouvelle paire clé-valeur en attribuant une valeur à une nouvelle clé. Enfin, nous imprimons la carte ajoutée complète, qui contient les trois paires clé-valeur d'origine et la nouvelle paire clé-valeur.

Cette méthode convient pour ajouter de nouvelles paires clé-valeur à la carte, et plusieurs paires clé-valeur peuvent être rapidement ajoutées via des instructions de boucle en fonction des besoins réels. Mais veuillez noter que si la clé que nous attribuons existe déjà dans la carte, sa valeur sera écrasée.

Méthode 2 : Utiliser la méthode de mise à jour de la carte

Dans Golang, il existe également une méthode spéciale qui peut être utilisée pour déterminer simultanément si une clé existe et ajouter de nouvelles paires clé-valeur. Cette méthode utilise la méthode de mise à jour de map, et le code d'implémentation est le suivant :

package main

import "fmt"

func main() {
    // 声明并初始化map
    scores := make(map[string]int)
    scores["Tom"] = 90
    scores["Jerry"] = 80
    scores["Alice"] = 95
    
    fmt.Println(scores)
    
    // 增加新键值对
    updateMap("Bob", 85, &scores)
    
    fmt.Println(scores)
}

func updateMap(key string, value int, scores *map[string]int) {
    if _, ok := (*scores)[key]; !ok {
        (*scores)[key] = value
    }
}

Les résultats d'exécution sont les suivants :

map[Tom:90 Jerry:80 Alice:95]
map[Tom:90 Jerry:80 Alice:95 Bob:85]

Dans le code ci-dessus, nous définissons une fonction updateMap, qui accepte trois paramètres : clé, valeur et un pointeur vers la carte. À l'intérieur de la fonction, nous utilisons la méthode de mise à jour de map pour déterminer si la clé à ajouter existe déjà, et formulons une nouvelle paire clé-valeur si elle n'existe pas. Enfin, nous appelons la fonction updateMap pour ajouter une nouvelle paire clé-valeur à la carte.

Bien que cette méthode soit légèrement plus compliquée que la première méthode, elle est plus flexible. Cela nous permet d'effectuer des opérations supplémentaires sur l'opération d'ajout d'une nouvelle clé, telles que la mise à jour de la valeur d'une paire clé-valeur existante ou l'impression des détails de la nouvelle paire clé-valeur.

Méthode 3 : Utilisez l'opérateur d'affectation de map

Une autre méthode consiste à utiliser l'opérateur d'affectation de la carte Golang. Le code d'implémentation est le suivant :

package main

import "fmt"

func main() {
    // 声明并初始化map
    scores := make(map[string]int)
    scores["Tom"] = 90
    scores["Jerry"] = 80
    scores["Alice"] = 95
    
    fmt.Println(scores)
    
    // 增加新键值对
    scores = map[string]int{
        "Bob": 85,
    }
    
    fmt.Println(scores)
}

Le résultat d'exécution est le suivant :

map[Tom:90 Jerry:80 Alice:95]
map[Bob:85]

Dans cette méthode, nous utilisez map directement l'opérateur d'affectation pour ajouter de nouvelles paires clé-valeur. Dans cet exemple, nous initialisons d’abord une carte avec la fonction make, puis utilisons l’opérateur d’affectation de carte pour ajouter de nouvelles paires clé-valeur à la carte. Semblable à la première méthode, cette méthode peut également être utilisée pour ajouter de nouvelles paires clé-valeur par lots dans une boucle.

Cette méthode est plus simple que les deux premières méthodes, mais elle ne convient que pour remplacer la carte d'origine par une nouvelle carte. Si vous devez ajouter de nouvelles paires clé-valeur à une carte existante, vous devez toujours utiliser la première ou la deuxième méthode.

Pour résumer, les fonctions implémentées par ces trois méthodes consistent à ajouter de nouvelles paires clé-valeur à la carte Golang. La méthode à choisir dépend du scénario spécifique. J'espère que le contenu ci-dessus vous sera utile !

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
Article précédent:utilisation du retard golangArticle suivant:utilisation du retard golang