Map 비교하기
Coddy GO 여정의 로직 & 흐름 섹션에 포함된 레슨. 68개 중 29번째.
Go의 다른 많은 데이터 유형과 달리, 맵에는 고유한 제한이 있습니다. == 연산자를 사용해 직접 비교할 수 없습니다. 이 규칙의 유일한 예외는 맵을 nil과 비교하는 경우입니다.
이는 다음과 같은 코드는 컴파일되지 않는다는 뜻입니다.
map1 := map[string]int{"a": 1, "b": 2}
map2 := map[string]int{"a": 1, "b": 2}
// 이렇게 하면 컴파일 오류가 발생합니다!
if map1 == map2 {
fmt.Println("Maps are equal")
}하지만 맵을 nil과 비교하는 것은 안전합니다:
var myMap map[string]int
if myMap == nil {
fmt.Println("Map is nil")
}두 맵에 동일한 키-값 쌍이 포함되어 있는지 확인해야 할 때는 두 맵을 반복하면서 각 요소를 개별적으로 비교하는 사용자 지정 함수를 작성해야 합니다. 이 방식은 비교 로직을 완전히 제어할 수 있게 해 주므로, 특정 사용 사례에서 "같다"가 정확히 무엇을 의미하는지 정의할 수 있습니다.
직접 해보기
이 레슨에는 코드 챌린지가 없습니다.
이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.
로직 & 흐름의 모든 레슨
직접 연습해 보세요: 온라인 Go 컴파일러