Go Lang 기초 10 - 맵(Map)

2021. 7. 28. 19:53
반응형


Go Lang의 맵(map)은 잘 정리되어 있는 서류 문서함과 같습니다.

 

Go Lang의 맵은 저장된 값을 키(key)를 통해 접근할 수 있는 자료구조로, 키를 사용해 맵의 데이터를 편리하게 가져 올 수 있습니다.

 

맵(Map)에서의 선언 역시, 배열과 슬라이스와 유사한 형태를 가집니다.

 

var 맵이름 map[키type]값type   // 맵 변수의 선언
make(map[키type]값type       // 맵의 실제값 생성

 


예제. make함수를 활용한 맵 만들기

 

package main

import "fmt"

func main() {
	Greeting := make(map[string]string)
	Greeting["English"] = "Good morning!"
	Greeting["Français"] = "Bonjour!"
    
	fmt.Println(Greeting)
}

 

출력결과물

 

map[English:Good morning! Français:Bonjour!]

 

위의 예제를 통해 맵에 string타입 지정후, 영어 인사와 프랑스어 인사를 작성해보았습니다.

 


Go lang에서는 맵의 데이터를 간편하게 저장하고 조회할 수 있습니다.

 

예제. 맵의 데이터 저장 및 조회하기

 

package main

import "fmt"

func main() {
	var iMap map[int]int
   	iMap = make(map[int]int)
   	iMap[0] = 3
   	iMap[5] = 9
   	val, suc := iMap[3]
   	fmt.Println(iMap[0], iMap[5], iMap[3])
   	fmt.Println(val, suc)
}

 

출력결과물

 

3 9 0
0 false

 

위의 예제는 iMap에 0이 들어가면 3이 나오고, 5가 들어가면 9가 나오도록 구조를 만든 것 입니다.
맵의 데이터를 조회할 때는 리턴 값에서 두번째 자리(예제에서는 suc)에 키의 존재 여부를 확인하도록 저장되며 iMap에는 값이 없기 때문에 false가 뜨는 것을 확인할 수 있습니다.

 


이번에는 delete를 활용해서 예제 8에서 사용했던 인사 맵에 저장된 데이터를 삭제해보도록 합시다.

 

예제. 맵의 데이터 삭제하기

 

 

package main

import "fmt"

func main() {
	Greeting := make(map[string]string)
	Greeting["English"] = "Good morning!"
	Greeting["Français"] = "Bonjour!"

	delete(Greeting, "English")

	fmt.Println(Greeting)
}

 

출력결과물

 

map[Français:Bonjour!]
반응형

'IT > Develop' 카테고리의 다른 글

Go Lang 기초 12 - 메소드(Method)  (0) 2021.07.28
Go Lang 기초 11 - 구조체(Struct)  (0) 2021.07.28
Go Lang 기초 9 - 슬라이스(Slice)  (0) 2021.07.28
Go Lang 기초 8 - 배열(Array)  (0) 2021.07.28
Go Lang 기초 7 - 함수 func  (0) 2021.07.28

+ Recent posts