Go Lang 기초 10 - 맵 (Map)

만두아빠·2021년 7월 27일
1

Go Lang 기초

목록 보기
10/14
post-thumbnail

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

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

  • 맵(Map)에서의 선언 역시, 배열과 슬라이스와 유사한 형태를 가집니다.
var 맵이름 map[type]type   // 맵 변수의 선언
make(map[type]type       // 맵의 실제값 생성

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!]

profile
Velog는 잠시 쉬어갑니다! 아래의 링크로!

0개의 댓글