키 존재 여부 확인하기
Coddy GO 여정의 기초 섹션에 포함된 레슨 — 109개 중 89번째.
Go에서는 두 개의 값을 반환하는 할당 형식을 사용하여 맵에 키가 존재하는지 확인할 수 있습니다. 존재하지 않는 키에 접근하면 제로 값(zero value)이 반환되어 오해의 소지가 있을 수 있기 때문에 이는 중요합니다.
국가 코드 맵을 생성합니다:
countries := map[string]string{
"US": "United States",
"CA": "Canada",
}
// 맵에 "UK"가 존재하는지 확인합니다
value, exists := countries["UK"]
fmt.Println("Value:", value, "Exists:", exists)결과:
Value: Exists: falseexists 불리언은 키가 발견되었는지 여부를 알려줍니다. 이를 조건문에서 사용하세요:
if _, exists := countries["US"]; exists {
fmt.Println("US is in the map")
}결과:
US is in the map챌린지
초급이 챌린지에서는 맵에 키가 존재하는지 확인하는 연습을 합니다. 학생 성적을 담은 맵이 있으며, 특정 학생의 성적이 맵에 존재하는지 확인해야 합니다.
'Emma' 학생이 grades 맵에 존재하는지 확인하는 코드를 완성하고, 적절한 메시지를 출력하세요.
치트 시트
두 개의 값을 반환하는 할당 방식을 사용하여 맵에 키가 존재하는지 확인합니다:
value, exists := mapName["key"]두 번째 값은 키를 찾았는지 여부를 나타내는 불리언(boolean) 값입니다:
countries := map[string]string{
"US": "United States",
"CA": "Canada",
}
value, exists := countries["UK"]
fmt.Println("Value:", value, "Exists:", exists)
// 출력: Value: Exists: false_를 사용하여 값을 무시하고 조건문에서 사용합니다:
if _, exists := countries["US"]; exists {
fmt.Println("US is in the map")
}직접 해보기
package main
import "fmt"
func main() {
// 학생 성적 맵
grades := map[string]int{
"John": 85,
"Sarah": 92,
"Mike": 78,
"Lisa": 95,
}
// 확인할 학생
studentToCheck := "Emma"
// TODO: grades 맵에 studentToCheck가 존재하는지 확인하고
// 그 결과를 'exists'라는 변수에 저장하세요.
// 힌트: comma-ok 관용구를 사용하세요.
// 결과 출력
if exists {
fmt.Printf("%s's grade exists in the map\n", studentToCheck)
} else {
fmt.Printf("%s's grade does not exist in the map\n", studentToCheck)
}
}이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.
기초의 모든 레슨
2변수와 기본 자료형
변수란 무엇인가`:=`를 이용한 타입 추론정수 (int)부동 소수점 수불리언 (Booleans)문자열 (Strings)제로 값 (Zero Values)상수명명 규칙요약 - 변수와 타입