Menu
Coddy logo textTech

맵 순회하기

Coddy GO 여정의 기초 섹션에 포함된 레슨 — 109개 중 92번째.

range 키워드는 맵의 모든 키-값 쌍을 반복할 수 있게 해줍니다. 각 항목에 대해 키와 값을 모두 반환합니다.

과일 재고 맵을 생성합니다:

inventory := map[string]int{
    "apples": 5,
    "bananas": 8,
    "oranges": 12,
}

for fruit, quantity := range inventory {
    fmt.Printf("%s: %d\n", fruit, quantity)
}

결과는 각 키-값 쌍을 보여줍니다:

apples: 5
bananas: 8
oranges: 12

키만 필요한 경우에는 두 번째 변수를 생략할 수 있습니다:

for fruit := range inventory {
    fmt.Println(fruit)
}
challenge icon

챌린지

초급

이 챌린지에서는 Go의 range 키워드를 사용하여 맵을 순회하는 연습을 합니다. 학생 성적 맵이 이미 생성되어 있습니다. 여러분의 작업은 맵을 순회하며 각 학생의 이름과 성적을 출력하는 것입니다.

studentGrades 맵을 순회하고 각 학생의 이름과 성적을 Student: [name], Grade: [grade] 형식으로 출력하도록 코드를 완성하세요.

치트 시트

맵(map)의 키-값 쌍을 반복하려면 range를 사용하세요:

inventory := map[string]int{
    "apples": 5,
    "bananas": 8,
    "oranges": 12,
}

for fruit, quantity := range inventory {
    fmt.Printf("%s: %d\n", fruit, quantity)
}

키만 반복하려면 두 번째 변수를 생략하세요:

for fruit := range inventory {
    fmt.Println(fruit)
}

직접 해보기

package main

import (
	"fmt"
	"sort"
)

func main() {
	// 학생 성적의 map
	studentGrades := map[string]string{
		"Alice":  "A",
		"Bob":    "B",
		"Charlie": "B+",
		"David":  "A-",
		"Eva":    "C",
	}

	// 학생 이름(키)을 정렬하기 위해 slice에 수집
	var names []string
	for name := range studentGrades {
		names = append(names, name)
	}
	sort.Strings(names)


	// TODO: 정렬된 학생 이름 리스트를 반복문으로 순회
	// 그리고 각 학생의 이름과 성적을 다음 형식으로 출력:
	// "Student: [name], Grade: [grade]"
}
quiz icon실력 점검

이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.

기초의 모든 레슨