Le code de la méthode pour golang pour déterminer si la clé existe dans la carte :
if _, ok := map[key]; ok { //存在 }
De plus, golang ne fournit pas de méthode pour déterminer si l'élément est dans le tableau. S'il est fréquemment utilisé dans le programme. Pour ce type de jugement, le tableau peut être converti en une carte avec les membres du tableau comme clés, puis jugé en utilisant la méthode ci-dessus, ce qui améliorera l'efficacité du jugement.
Exemple :
package main import "fmt" func main() { //声明并初始化一个map,key是int64类型,value是string类型 myMap := make(map[int64]string) myMap[1] = "value1" myMap[2] = "value2" myMap[5] = "value5" myMap[6] = "value6" //声明一个int64数组,然后遍历数组,num是数组中的元素,下划线_代表元素的下标位置 for _, num := range []int64{1, 2, 3, 4, 5, 6} { //不关心数组中的value,用下划线代替 //一般都习惯用ok变量表示是否包含,也可以用别的变量名字 if _, ok := myMap[num]; ok { fmt.Printf("myMap中包含key:%d \n", num, ) } else { fmt.Printf("myMap中不包含key:%d\n", num) } } fmt.Println("=================分割线=======================") for _, num := range []int64{1, 2, 3, 4, 5, 6} { //如果包含key,想知道value,就把返回值赋给一个变量,这儿用变量v //这儿用变量s表示是否包含指定的key if v, s := myMap[num]; s { fmt.Printf("myMap中包含key:%d,value值为:%s\n", num, v) } else { fmt.Printf("myMap中不包含key:%d\n", num) } } }
Sortie après l'exécution :
myMap中包含key:1 myMap中包含key:2 myMap中不包含key:3 myMap中不包含key:4 myMap中包含key:5 myMap中包含key:6 =================分割线======================= myMap中包含key:1,value值为:value1 myMap中包含key:2,value值为:value2 myMap中不包含key:3 myMap中不包含key:4 myMap中包含key:5,value值为:value5 myMap中包含key:6,value值为:value6
Pour plus de connaissances sur Golang, veuillez faire attention à la colonne tutoriel de langage go.
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!