맵
맵은 key 에 값을 지정하는 자료형이다.
맵을 만들때는 make 함수를 사용해야 하며 제로값은 nil 이다.
또한 맵의 키를 제거하려면 delete 함수를 사용하면 된다.
package main import "fmt" func main() { maps := make(map[string]int) maps["key1"] = 10 // 맵에 키와 값 입력 maps["key2"] = 20 fmt.Println("맵의 모든 값 출력 : ", maps) fmt.Println("맵의 쌍의 개수 출력 : ", len(maps)) delete(maps, "key1") // key1 삭제 fmt.Println("맵의 모든 값 출력 : ", maps) fmt.Println("맵의 쌍의 개수 출력 : ", len(maps)) value1 := maps["key2"] fmt.Println("맵의 값 : ", value1) m := map[string]int{"value1": 10, "value2":20} // 맵의 한줄 선언 fmt.Println("맵의 모든 값 출력 : ", m) value, data := m["value1"] fmt.Println("value1의 값은 ", value, "존재함? ", data) value, data = m["value3"] fmt.Println("value3의 값은 ", value, "존재함? ", data) _, data = m["value2"] // 값을 가져올 때 두번째 값은 맵에 해당 값이 있는지 여부를 반환해줌 // 값이 필요 없고 존재 여부만 확인이 필요할 경우 공백식별자(Blank indentifier)인 언더바 _ 를 사용 fmt.Println("value2는 존재함? ", data) }
┌──(daleji㉿DESKTOP)-[~] └─$ go run map.go 맵의 모든 값 출력 : map[key1:10 key2:20] 맵의 쌍의 개수 출력 : 2 맵의 모든 값 출력 : map[key2:20] 맵의 쌍의 개수 출력 : 1 맵의 값 : 20 맵의 모든 값 출력 : map[value1:10 value2:20] value1의 값은 10 존재함? true value3의 값은 0 존재함? false value2는 존재함? true