[Go] 6장 맵

img1.daumcdn.png

1. Go 맵 사용법

Go에서 맵(map)은 키-값 쌍으로 데이터를 저장하는 자료구조로, Go에서 맵을 정의하고 초기화하는 방법은 아래와 같습니다. 

  • Go 맵 정의 및 초기화

맵을 정의하고 초기화하는 방법입니다

package main

import "fmt"

func main() {
	// 맵 정의
	myMap := make(map[string]int)
}
  • 데이터 추가

맵의 데이터를 추가하는 방법은 다음과 같습니다, 키를 사용해 값을 할당합니다.

myMap["apple"] = 1 // "apple" 키에 1 값을 추가
  • 데이터 조회

맵에서 데이터를 조회할 때는 키를 사용합니다. 키가 존재하지 않을 경우 기본값을 반환

// 데이터 추가
myMap["apple"] = 1
myMap["banana"] = 2

// 데이터 조회
fmt.Println("Apple:", myMap["apple"]); // result: Apple: 1
  • 키 존재 여부 확인

키가 존재하는지 확인하려면 다음과 같이 두 번째 반환 값을 사용

value, exist := myMap["banana"]
if exist {
     fmt.Println("Banana:", value) // result: Banana: 2
} else {
     fmt.Println("Banana is not exist"); // result: Banana key dose not exist.
}

2. 데이터 삭제, 전체 맵 출력

  • 데이터 삭제

맵에서 데이터를 삭제하려면 delete 함수를 사용

delete(myMap, "apple"); // "apple" 키와 그에 해당하는 값 삭제
  • 전체 맵 출력

맵의 모든 키-값 쌍을 출력하려면 for 루프를 사용

for key, value := range myMap {
   fmt.Printf("%s: %d\n", key, value);
}

3. 전체 코드

package main

import "fmt"

func main() {
	// 맴 정의
	myMap := make(map[string]int)

	// 데이터 추가
	myMap["apple"] = 1
	myMap["banana"] = 2

	// 데이터 조회
	fmt.Println("Apple:", myMap["apple"]); // result: Apple: 1

	// 삭제 후 조회
	value, exist := myMap["banana"]
	if exist {
		fmt.Println("Banana:", value); // result: Banana: 2
	} else {
		fmt.Println("Banana is not exist"); // result: Banana key dose not exist.
	}
	
	// 데이터 삭제
	delete(myMap, "apple"); // "apple" 키와 그에 해당하는 값 삭제
	fmt.Println("After deletion: ", myMap);

	// 전체 맵 출력
	for key, value := range myMap {
		fmt.Printf("%s: %d\n", key, value);
	}
}

 

GitHub - Koras02/Go-Bloging: https://thinky.tistory.com/category/Back-End/Go

https://thinky.tistory.com/category/Back-End/Go. Contribute to Koras02/Go-Bloging development by creating an account on GitHub.

github.com

 

LIST

'Back-End > Go' 카테고리의 다른 글

[Go] 8장(완) 고루틴과 채널  (1) 2025.03.04
[Go] 7장 구조체와 인터페이스  (0) 2025.03.04
[GO] 5장 배열과 슬라이스  (0) 2025.02.28
[Go] 4장 함수(Function)  (0) 2025.02.26
[Go] 3장 제어 구조  (0) 2025.02.24