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 |