Go - Map
Map
다른 언어들에서 제공하는 hash table, dictionary와 같음.
map의 values로 primitive data타입 이외에도 struct, map과 같은 자료구조도 사용가능.
map을 nested로 선언 가능.(ex: map[string]map[string]float32
)
declare
var $NAME map[$KEY_TYPE]$VALUE_TYPE = make(map[$KEY_TYPE]$VALUE_TYPE)
$NAME := make(map[$KEY_TYPE]$VALUE_TYPE)
set values
$NAME[$KEY] = $VALUE
access the values
$NAME[$KEY]
존재하지 않는 키 값으로 조회했을 시 빈 값(not null, 0 values) 반환.
value, ok := mapSample["testKey"] // key에 해당하는 value가 있으면 ok는 true, 없으면 false
if value, ok := mapSample["testKey"]; ok {
fmt.Println(value) // 해당 key에 대한 value가 존재할 때만 출력
}
iterate
mapSample := make(map[string]int)
for key, value := range mapSample {
fmt.Println(key, value)
}
delete key and value
delete($MAP_NAME, $KEY)