golang判斷key是否存在map中的方法程式碼:
if _, ok := map[key]; ok { //存在 }
另外golang也沒有提供item是否在array當中的判斷方法,如果程式裡面頻繁用到了這種判斷,可以將array轉換為以array當中的成員為key的map再用上面的方法進行判斷,這樣會提高判斷的效率。
範例:
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) } } }
執行後輸出:
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
更多golang知識請關注go語言教學欄位。
以上是golang判斷key是否存在map中的方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!