php 判断 map key,golang判断key是否存在map中的方法

740480e9b1776291078a9d1c7af8957c.png

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语言教程栏目。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值