맵에 키가 존재하는지 확인하는 golang의 메소드 코드:
if _, ok := map[key]; ok { //存在 }
또한 golang은 키가 맵에 존재하는지 확인하는 메소드를 제공하지 않습니다. 항목이 배열에 있는지 판단합니다. 프로그램에서 이런 종류의 판단이 자주 사용되는 경우 배열의 멤버를 키로 사용하여 배열을 맵으로 변환한 다음 위의 방법을 사용하여 판단할 수 있습니다. 판단의 효율성을 향상시킵니다.
예:
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에 주목하세요. 언어 튜토리얼# 🎜🎜# 열.
위 내용은 맵에 키가 존재하는지 확인하는 Golang 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!