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


本文摘自php中文网,作者尚,侵删。

golang判断key是否存在map中的方法代码:

1

2

3

if _, ok := map[key]; ok {

//存在

}

另外golang也没有提供item是否在array当中的判断方法,如果程序里面频繁用到了这种判断,可以将array转化为以array当中的成员为key的map再用上面的方法进行判断,这样会提高判断的效率。

示例:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

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)

        }

    }

}

运行后输出:

1

2

3

4

5

6

7

8

9

10

11

12

13

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中的方法的详细内容,更多文章请关注木庄网络博客!!

相关阅读 >>

手撸golang 基本数据结构与算法 堆排序

手撸golang go与微服务 saga模式之5

ddd lite:ddd 领域驱动设计微服务简化版

leetcode503 下一个更大元素 ii golang

关于golang gopath的新用法

使用 go-randgen 测试 join 查询

golang怎么通过cgo调用c++程序

手撸golang 基本数据结构与算法 堆

golang语言社区投稿】golang高并发基于协程,通道的任务池

go语言获取系统性能数据gopsutil库

更多相关阅读请进入《golang》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...