Go语言中判断map中是否包含某个key的习惯性写法
程序员文章站
2022-06-01 12:46:53
...
示例代码:
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
上一篇: java 编程习惯性能
下一篇: Linux解决Tab键无法自动补全