맵 사용하기

이재홍 http://www.pyrasis.com 2014.12.17 ~ 2015.02.07

Go 언어는 기본 자료형으로 맵을 지원합니다. 맵은 해시 테이블, 딕셔너리라고도 하며 키-값 형태로 자료를 저장합니다. 또한, 슬라이스와 마찬가지로 레퍼런스 타입입니다. 이제 var 키워드로 맵을 생성해보겠습니다.

  • var 맵명 map[키_자료형]값_자료형
var a map[string]int // 키는 string, 값은 int인 맵 선언

[ ] (대괄호)안에는 키의 자료형을 지정하고 그 뒤에 값의 자료형을 지정합니다.

맵은 make 함수를 사용하여 공간을 할당해야 값을 넣을 수 있습니다. 여기서 맵 선언과 동시에 make 함수를 사용하면 map 키워드와 자료형을 생략할 수 있습니다. 또한, 일반 변수와 마찬가지로 :=를 사용하여 var를 생략할 수 있습니다.

  • make(map[키_자료형]값_자료형)
var a map[string]int = make(map[string]int) // make 함수로 키는 string 값은 int인 맵에 공간 할당
var b = make(map[string]int)                // 맵을 선언할 때 map 키워드와 자료형 생략
c := make(map[string]int)                   // 맵을 선언할 때 var, map 키워드와 자료형 생략

맵을 선언할 때와 동일하게 map 키워드로 키, 값 자료형을 지정합니다. 이렇게 하면 문자열 키에 정수형 값을 저장합니다.

맵을 생성하면서 키와 값을 초기화하려면 { } (중괄호)를 사용합니다. 중괄호에서 키와 값은 한 줄로 나열해도 되고 여러 줄로 나열해도 됩니다(여러 줄로 나열할 때는 마지막 키와 값에도 콤마를 붙여줍니다).

a := map[string]int{"Hello": 10, "world": 20}

b := map[string]int{
	"Hello": 10,
	"world": 20, // 여러 줄로 나열할 때는 마지막 요소에 콤마를 붙임
}

fmt.Println(a["Hello"]) // 10
fmt.Println(b["world"]) // 10

실행 결과

10
20

저작권 안내

이 웹사이트에 게시된 모든 글의 무단 복제 및 도용을 금지합니다.
  • 블로그, 게시판 등에 퍼가는 것을 금지합니다.
  • 비공개 포스트에 퍼가는 것을 금지합니다.
  • 글 내용, 그림을 발췌 및 요약하는 것을 금지합니다.
  • 링크 및 SNS 공유는 허용합니다.

Published

01 June 2015