Go에서지도에 키가 포함되어 있는지 확인하는 방법
해시 테이블은Go에서map 데이터 유형으로 구현됩니다. Go Maps는 정렬되지 않은 키-값 쌍의 모음으로 볼 수 있습니다. Maps는 빠른 검색, 추가 및 삭제 기능으로 인해Go에서 가장 강력하고 다양한 데이터 유형 중 하나입니다. map에서key의 값을 얻으려고 할 때 두 개의 반환 값을 얻습니다. 두 번째 값이 true이면key가map에 있습니다.
Go에서map의 구조
map 구문
var map_name map[KeyType]ValueType
KeyType은 비교 가능한datatype이고ValueType은map 자체를 포함한 모든datatype이기도합니다. map의 모든keys에 대한datatype은 같아야합니다. 마찬가지로, 맵의 모든 ‘값’에 대한 ‘데이터 유형’도 동일해야합니다. 그러나 ‘키’의 ‘데이터 유형’과 ‘값’의 ‘데이터 유형’은 다를 수 있습니다.
package main
import "fmt"
func main() {
map_1 := map[string]string{
"Jenna": "Sthapit",
}
for k, v := range map_1 {
fmt.Printf("Key:%v\nValue: %s\n", k, v)
}
}
출력:
Key:Jenna
Value: Sthapit
위의 예에서map_1에는keys와values모두에 대한string 데이터 유형이 있습니다. map_1에서Sthapit은Jenna 키의 값입니다.
Go-map에서key를 확인하십시오
map에 Go에key가 포함되어 있는지 확인하는 구문
first_value, second_value := map_name[key_name]
위의 문장은 두 가지 값을 반환합니다. first_value와second_value. first_value는key의 값을 제공합니다. map_name에key_name이 포함되어 있지 않으면first_value가 기본값 zero value가됩니다. 마찬가지로second_value는key_name이map에 있으면 true가되는 부울 값입니다. first_value와second_value를 다른 방법으로 해석하여map_name에key_name이 있는지 여부를 확인할 수 있습니다.
package main
import "fmt"
func main() {
map_name := map[int]string{
0: "Alok",
1: "Reman",
2: "Riken",
3: "Rudra",
}
_, second_value_1 := map_name[1]
fmt.Printf("second_value for 1: %t\n", second_value_1)
_, second_value_9 := map_name[9]
fmt.Printf("second_value for 9: %t\n", second_value_9)
}
출력:
second_value for 1: true
second_value for 9: false
0에 대한second_value는map_name에 키0이 있으므로true입니다. 그러나9에 대한second_value는map_name에 키9가 없으므로false입니다.
package main
import "fmt"
func main() {
map_name := map[string]string{
"Giri": "Alok",
"Nembang": "Reman",
"Maharjan": "Riken",
"Jha": "Rudra",
}
if first_value, second_value := map_name["Giri"]; second_value {
fmt.Printf("Giri is present in map. Value is: %s\n", first_value)
} else {
fmt.Printf("Giri is not present in map.\n")
}
if first_value, second_value := map_name["Sthapit"]; second_value {
fmt.Printf("Sthapit is present in map. Value is: %s\n", first_value)
} else {
fmt.Printf("Sthapit is not present in map. \n")
}
}
출력:
Giri is present in map. Value is: Alok
Sthapit is not present in map.
이 예에서는if 문을 사용하여key가map에 있는지 확인했습니다. Giri는key이고Sthapit은map_name의key가 아닙니다.
Suraj Joshi is a backend software engineer at Matrice.ai.
LinkedIn