가장 빨리 만나는 Go 언어 Unit 23.4 맵 안에 맵 만들기

저작권 안내
  • 책 또는 웹사이트의 내용을 복제하여 다른 곳에 게시하는 것을 금지합니다.
  • 책 또는 웹사이트의 내용을 발췌, 요약하여 강의 자료, 발표 자료, 블로그 포스팅 등으로 만드는 것을 금지합니다.

맵 사용하기

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

맵 안에 맵 만들기

맵의 값 안에는 일반 자료형뿐만 아니라 맵 자체도 들어갈 수 있습니다.

  • map[키_자료형]map[키_자료형]값_자료형

다음은 지구형 행성의 반지름, 질량, 공전주기를 맵으로 표현한 예제입니다.

terrestrialPlanet := map[string]map[string]float32{
	"Mercury": map[string]float32{
		"meanRadius":    2439.7,
		"mass":          3.3022E+23,
		"orbitalPeriod": 87.969,
	},
	"Venus": map[string]float32{
		"meanRadius":    6051.8,
		"mass":          4.8676E+24,
		"orbitalPeriod": 224.70069,
	},
	"Earth": map[string]float32{
		"meanRadius":    6371.0,
		"mass":          5.97219E+24,
		"orbitalPeriod": 365.25641,
	},
	"Mars": map[string]float32{
		"meanRadius":    3389.5,
		"mass":          6.4185E+23,
		"orbitalPeriod": 686.9600,
	},
}

fmt.Println(terrestrialPlanet["Mars"]["mass"]) // 6.4185E+23
실행 결과
6.4185e+23

map 키워드의 값 자료형 부분에 계속 map 키워드를 붙여나가면 맵 안에 맵을 만들 수 있습니다. 맵 안의 하위 항목을 가져오려면 terrestrialPlanet["Mars"]["mass"]와 같이 키를 연속해서 지정하면 됩니다.


저작권 안내

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

Published

2015-06-01