Aller à la carte des langues (collection)
Map est une collection non ordonnée de paires clé-valeur. Le point le plus important de Map est de récupérer rapidement les données via une clé, qui est similaire à un index et pointe vers la valeur des données.
Map est une collection, nous pouvons donc la parcourir tout comme les tableaux et les tranches. Cependant, Map n'est pas ordonné et nous ne pouvons pas déterminer l'ordre dans lequel il est renvoyé. En effet, Map est implémenté à l'aide d'une table de hachage.
Définir la carte
Vous pouvez utiliser la fonction intégrée make ou vous pouvez utiliser le mot-clé map pour définir la carte :
/* 声明变量,默认 map 是 nil */ var map_variable map[key_data_type]value_data_type /* 使用 make 函数 */ map_variable = make(map[key_data_type]value_data_type)
Si la carte n'est pas initialisée, un zéro une carte sera créée. nil map ne peut pas être utilisé pour stocker des paires clé-valeur
Instance
L'exemple suivant montre la création et l'utilisation de map :
package main import "fmt" func main() { var countryCapitalMap map[string]string /* 创建集合 */ countryCapitalMap = make(map[string]string) /* map 插入 key-value 对,各个国家对应的首都 */ countryCapitalMap["France"] = "Paris" countryCapitalMap["Italy"] = "Rome" countryCapitalMap["Japan"] = "Tokyo" countryCapitalMap["India"] = "New Delhi" /* 使用 key 输出 map 值 */ for country := range countryCapitalMap { fmt.Println("Capital of",country,"is",countryCapitalMap[country]) } /* 查看元素在集合中是否存在 */ captial, ok := countryCapitalMap["United States"] /* 如果 ok 是 true, 则存在,否则不存在 */ if(ok){ fmt.Println("Capital of United States is", captial) }else { fmt.Println("Capital of United States is not present") } }
Le résultat de l'exemple ci-dessus est :
Capital of France is Paris Capital of Italy is Rome Capital of Japan is Tokyo Capital of India is New Delhi Capital of United States is not present
fonction delete()
la fonction delete() est utilisée pour supprimer des éléments de l'ensemble, et les paramètres sont la carte et sa clé correspondante. L'exemple est le suivant :
package main import "fmt" func main() { /* 创建 map */ countryCapitalMap := map[string] string {"France":"Paris","Italy":"Rome","Japan":"Tokyo","India":"New Delhi"} fmt.Println("原始 map") /* 打印 map */ for country := range countryCapitalMap { fmt.Println("Capital of",country,"is",countryCapitalMap[country]) } /* 删除元素 */ delete(countryCapitalMap,"France"); fmt.Println("Entry for France is deleted") fmt.Println("删除元素后 map") /* 打印 map */ for country := range countryCapitalMap { fmt.Println("Capital of",country,"is",countryCapitalMap[country]) } }
Le résultat de l'exécution de l'exemple ci-dessus est :
原始 map Capital of France is Paris Capital of Italy is Rome Capital of Japan is Tokyo Capital of India is New Delhi Entry for France is deleted 删除元素后 map Capital of Italy is Rome Capital of Japan is Tokyo Capital of India is New Delhi