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