Home  >  Article  >  Backend Development  >  Golang method to determine whether key exists in map

Golang method to determine whether key exists in map

尚
Original
2019-12-13 14:20:3412156browse

Golang method to determine whether key exists in map

The method code for golang to determine whether the key exists in the map:

if _, ok := map[key]; ok {
//存在
}

In addition, golang does not provide a method to determine whether the item is in the array. If it is frequently used in the program For this kind of judgment, the array can be converted into a map with the members in the array as keys and then judged using the above method, which will improve the efficiency of judgment.

Example:

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)
		}
	}
}

Output after running:

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

For more golang knowledge, please pay attention to the go language tutorial column.

The above is the detailed content of Golang method to determine whether key exists in map. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn