Go语言中判断map中是否包含某个key的习惯性写法

论坛 期权论坛 脚本     
匿名网站用户   2020-12-19 15:21   105   0

示例代码:

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
分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:1136255
帖子:227251
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP