
90
러닝 Go
앞의 프로그램을 실행하면, 다음과 같은 결과를 볼 수 있다.
1
0
1
3
특정 맵 키에 대해 값을 할당하기 위해 대괄호에 키를 넣고,
=
를 사용하여 값을 할당하다. 그리
고 대괄호에 키를 넣어서 맵의 해당 키에 할당된 값을 읽을 수 있다. 맵 키에 값을 할당하기 위
해
:=
연산자는 사용할 수 없다는 것을 기억하자.
아직 설정하지 않은 맵 키에 할당된 값을 읽으려고 시도할 때, 맵의 값이 되는 타입의 제로 값
을 반환한다. 앞선 예제에서는 값이 되는 타입은 정수이며, 이런 경우에는
0
을 반환할 것이다.
맵 키에 대응되는 값을 증가시키기 위해
++
연산자를 사용할 수도 있다. 맵은 기본적으로 제로
값을 반환하기 때문에, 키에 연관된 값이 존재하지 않아도 증가시키는 연산자는 정상적으로 동
작한다.
3.4.2
콤마
OK
관용구
맵은 키에 대응되는 값이 없이 없어도 기본 제로 값을 반환한다는 것을 살펴보았다. 이것은 앞
에서 살펴본 카운터와 같은 것을 구현할 때 편리하다. 하지만 때론 맵에 키가 있는지 확인해야
하는 경우도 있다.
Go
는 콤마
OK
관용구
comma
ok
idiom
로 맵에 키가 없어 제로 값을 반환하는
경우와 키에 해당하는 값으로
0
을 반환한 것인지를 구분하여 알려줄 수 있다.
m := map[string]int{
“hello”: 5,
“world”: ...