温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

golang怎么判断key是否在map中

发布时间:2020-06-17 11:58:19 来源:亿速云 阅读:347 作者:鸽子 栏目:编程语言

代码:

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
向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI