Go 언어 7강 - 맵(Map)과 키-값 처리

 

📘 Go 언어 7강 - 맵(Map)과 키-값 처리

이번 강의에서는 Go의 맵(map) 자료형을 배웁니다.
파이썬의 dict, 자바의 HashMap처럼 키-값 형태로 데이터를 저장합니다.

1️⃣ 맵 선언과 초기화

ages := map[string]int{
    "Alice": 25,
    "Bob":   30,
}

fmt.Println(ages) // map[Alice:25 Bob:30]

2️⃣ 값 추가 및 수정

ages["Charlie"] = 28
ages["Bob"] = 32

fmt.Println(ages) // map[Alice:25 Bob:32 Charlie:28]

3️⃣ 값 조회와 존재 여부 확인

val, exists := ages["Bob"]

if exists {
    fmt.Println("Bob의 나이:", val)
} else {
    fmt.Println("Bob은 존재하지 않습니다.")
}

4️⃣ 삭제하기

delete(ages, "Alice")
fmt.Println(ages) // map[Bob:32 Charlie:28]

💡 예제 1: 학생 점수 조회

scores := map[string]int{
    "철수": 90,
    "영희": 85,
}

fmt.Println("철수 점수:", scores["철수"])
fmt.Println("영희 점수:", scores["영희"])

💡 예제 2: 모든 키-값 출력

for name, score := range scores {
    fmt.Printf("%s의 점수는 %d점입니다\n", name, score)
}

🧠 요약

  • map[KeyType]ValueType 형태로 선언
  • 값 추가: m[key] = value, 삭제: delete(m, key)
  • val, exists := m[key]로 존재 여부 확인 가능

한 줄 요약: "맵은 키-값으로 데이터를 빠르게 조회할 수 있는 Go의 딕셔너리!"