Maison  >  Article  >  développement back-end  >  Comment utiliser les types de mappage en langage Go ?

Comment utiliser les types de mappage en langage Go ?

PHPz
PHPzoriginal
2024-03-23 10:12:04602parcourir

Comment utiliser les types de mappage en langage Go ?

Comment utiliser les types de mapping en langage Go ?

Dans le langage Go, la carte est une structure de données intégrée utilisée pour stocker des paires clé-valeur. Les cartes permettent une récupération rapide des valeurs par clé, à l'instar des dictionnaires ou des tables de hachage dans d'autres langues. Dans cet article, nous présenterons les concepts de base des types de cartes en langage Go et comment utiliser les cartes pour stocker et récupérer des données.

Créer une carte

Pour créer une carte, vous pouvez utiliser la fonction make du langage Go pour initialiser une carte vide et spécifier les types de clé et de valeur. Voici un exemple simple : make函数来初始化一个空的映射,并指定键和值的类型。下面是一个简单的示例:

package main

import "fmt"

func main() {
    // 创建一个映射,键是字符串类型,值是整数类型
    m := make(map[string]int)
    
    // 添加键值对到映射中
    m["apple"] = 10
    m["banana"] = 5
    
    fmt.Println(m) // 输出map[apple:10 banana:5]
}

在上面的示例中,我们创建了一个映射m,键的类型是字符串,值的类型是整数。然后,我们向映射中添加了两组键值对,分别是apple:10banana:5。最后,使用fmt.Println函数输出整个映射。

访问和修改映射中的元素

要访问映射中的元素,可以通过键来索引映射。如果键存在,则会返回对应的值;如果键不存在,则会返回值类型的零值。示例如下:

package main

import "fmt"

func main() {
    m := make(map[string]int)
    
    m["apple"] = 10
    m["banana"] = 5

    // 访问映射中的元素
    fmt.Println("apple:", m["apple"]) // 输出:apple: 10
    fmt.Println("orange:", m["orange"]) // 输出:orange: 0
}

在上面的示例中,我们访问了映射中的appleorange键的值,如果键存在,则打印对应的值;如果键不存在,则打印值类型的零值。

如果需要修改映射中的元素,只需通过键重新赋值即可。示例如下:

package main

import "fmt"

func main() {
    m := make(map[string]int)
    
    m["apple"] = 10
    fmt.Println("apple:", m["apple"]) // 输出:apple: 10
    
    m["apple"] = 20 // 修改键值对
    fmt.Println("apple:", m["apple"]) // 输出:apple: 20
}

在上面的示例中,我们将映射中apple键的值从10修改为20,并输出修改后的结果。

删除映射中的元素

可以使用delete函数来删除映射中的元素。示例如下:

package main

import "fmt"

func main() {
    m := make(map[string]int)
    
    m["apple"] = 10
    fmt.Println("apple:", m["apple"]) // 输出:apple: 10
    
    delete(m, "apple") // 删除键值对
    fmt.Println("apple:", m["apple"]) // 输出:apple: 0
}

在上面的示例中,我们使用delete函数删除了映射中的apple键值对,然后访问apple键时会返回值类型的零值。

迭代映射

可以使用for range语句来迭代映射中的键值对。示例如下:

package main

import "fmt"

func main() {
    m := make(map[string]int)
    
    m["apple"] = 10
    m["banana"] = 5

    // 遍历映射
    for k, v := range m {
        fmt.Println(k, ":", v)
    }
}

在上面的示例中,我们使用for range语句遍历了映射mrrreee

Dans l'exemple ci-dessus, on crée une map m avec des clés de type string et des valeurs de type entier. Ensuite, nous avons ajouté deux ensembles de paires clé-valeur à la carte, à savoir apple:10 et banana:5. Enfin, utilisez la fonction fmt.Println pour afficher la carte entière.

Accéder et modifier des éléments dans une carte

Pour accéder aux éléments d'une carte, vous pouvez indexer la carte par clé. Si la clé existe, la valeur correspondante sera renvoyée ; si la clé n'existe pas, une valeur zéro du type valeur sera renvoyée. Un exemple est le suivant :
    rrreee
  1. Dans l'exemple ci-dessus, nous accédons aux valeurs des touches apple et orange dans la carte. Si la clé existe, imprimez. la valeur correspondante si Si la clé n'existe pas, une valeur zéro du type valeur est imprimée.
  2. Si vous devez modifier un élément dans la carte, réaffectez-le simplement par clé. Un exemple est le suivant :
  3. rrreee
  4. Dans l'exemple ci-dessus, nous modifions la valeur de la clé apple dans la carte de 10 à 20 et générons le résultat modifié.
Supprimer des éléments de la carte

Vous pouvez utiliser la fonction delete pour supprimer des éléments de la carte. Un exemple est le suivant : 🎜rrreee🎜Dans l'exemple ci-dessus, nous utilisons la fonction delete pour supprimer la paire clé-valeur apple dans la carte, puis accédons à apple renverra la valeur zéro du type valeur. 🎜🎜Itérer la carte🎜🎜Vous pouvez utiliser l'instruction for range pour itérer les paires clé-valeur dans la carte. Un exemple est le suivant : 🎜rrreee🎜Dans l'exemple ci-dessus, nous utilisons l'instruction for range pour parcourir toutes les paires clé-valeur de la carte m et afficher les clés et valeurs dans l'ordre. 🎜🎜Notes🎜🎜Lors de l'utilisation du mappage, vous devez faire attention aux points suivants : 🎜🎜🎜Map est un type de référence et stocke les références aux paires clé-valeur, donc passer la carte lors de l'appel d'une fonction ne produira pas de copie. 🎜🎜Les clés de la carte doivent être de types comparables, tels que les types de base, les types de pointeurs, les types de tableaux, les types de structure, etc. 🎜🎜Les valeurs de la carte peuvent être de n'importe quel type, y compris des fonctions, des tranches, des cartes, etc. 🎜🎜🎜Résumé : Cet article explique comment créer, accéder, modifier, supprimer et itérer des types de cartes en langage Go. Grâce à l'introduction des opérations de base et des précautions de cartographie, les lecteurs peuvent mieux comprendre et utiliser la structure des données cartographiques dans le langage Go. J'espère que cet article 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