Go 언어에서의 map의 기본적인 구조를 설명하겠습니다.
map을 선언하는 방법은 아래와 같습니다.
var devhsops1 map[string]int
devhsops1 = make(map[string]int) // 맵 생성
devhsops2 := make(map[string]int) // 빈 맵 생성
devhsops3 := map[string]int{} // 빈 맵 생성
devhsops4 := map[string]int{"a":1, "b":2, "c":3} // 맵 초기화
이처럼 map은 슬라이스와 마찬가지로 값이 자동으로 생성되지 않기 때문에 make 함수를 이용해 직접 생성해주어야합니다.
map에서 할당된 값과 zero 값 구분 방법
devhsops4["a"] : 1이 할당된 값
devhsops4["z"] : 할당되지 않은 zero 값
구분 방법
var value int
var ok bool
value, ok = devhsops4["a"]
if !ok{
fmt.Println("할당되지 않은 zero 값입니다.")
}
else{
fmt.Println("할당된 값입니다.")
}
value, ok = devhsops4["z"]
if !ok{
fmt.Println("할당되지 않은 zero 값입니다.")
}
else{
fmt.Println("할당된 값입니다.")
}
delete 함수를 이용하여 map 키/값 삭제하기
devhsops1 := map[string]int{"a":2, "b":3}
delete(devhsops1, "a")
for range와 map
devhsops1 := map[string]int{"a":1, "b":2}
// 키,값 순회
for key, value := range devhsops1{
}
// 키만 순회
for key := range devhsops1{ // => 생략가능
}
// 값만 순회
for _, value := range devhsops1{
}
'Go > [Go]배열, 슬라이스, 맵' 카테고리의 다른 글
슬라이스 (0) | 2021.11.22 |
---|---|
텍스트 파일 읽기 (0) | 2021.11.22 |
배열 (0) | 2021.11.22 |