0Pricing
Swift Academy · 강의

딕셔너리 기본 서브스크립트

내장된 기본값을 사용해 딕셔너리 값을 읽습니다.

딕셔너리 기본 서브스크립트은(는) CoddyKit의 무료 Swift Academy 강의입니다. 이것은 4개 중 4번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 Swift Academy 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. Swift Academy 강의에는 총 4개의 강의가 포함되어 있습니다.

사전 조회는 옵셔널입니다

dict[key]로 키를 조회하면 옵셔널이 반환됩니다. 키가 존재하지 않을 수 있기 때문입니다. 이 옵셔널은 별도로 처리해야 합니다.

let ages = ["Ann": 30]
let bob = ages["Bob"]
print(bob as Any)

기본값을 사용하는 서브스크립트

Swift는 기본값을 지정하는 서브스크립트를 제공합니다. dict[key, default: value]를 사용하면 키가 없을 때 nil 대신 기본값을 얻습니다.

let ages = ["Ann": 30]
print(ages["Bob", default: 0])
print(ages["Ann", default: 0])

결과는 비옵셔널입니다

일반적인 조회와 달리 기본값 서브스크립트는 비옵셔널 값을 반환하므로 `unwrapped`하지 않고 바로 사용할 수 있습니다.

let stock = ["pen": 5]
let pens: Int = stock["pen", default: 0]
print(pens + 1)

기본값으로 개수 세기

기본값 서브스크립트는 발생 횟수를 셀 때 특히 유용합니다. 각 키를 0에서 시작하고 진행하면서 값을 더하세요.

var counts: [String: Int] = [:]
let words = ["a", "b", "a", "a", "b"]
for word in words {
    counts[word, default: 0] += 1
}
print(counts["a", default: 0])
print(counts["b", default: 0])

+=가 작동하는 이유

dict[key, default: 0]은 새 키에 대해서도 실제 값을 제공하므로 +=를 사용해 값을 안전하게 현재 위치에서 변경할 수 있습니다.

var tally: [String: Int] = [:]
tally["x", default: 0] += 5
tally["x", default: 0] += 3
print(tally["x", default: 0])

그룹별 합계

기본값 서브스크립트를 사용하면 한 번의 순회로 범주별 합계를 누적할 수 있습니다.

let sales = [("apple", 3), ("pear", 2), ("apple", 4)]
var totals: [String: Int] = [:]
for (item, amount) in sales {
    totals[item, default: 0] += amount
}
print(totals["apple", default: 0])

기본값과 nil 병합 비교

읽기만 할 때 dict[key, default: 0]은 dict[key] ?? 0과 같습니다. 하지만 서브스크립트 형식은 현재 위치에서 값을 변경하는 것도 지원합니다.

let prices = ["tea": 3]
print(prices["tea"] ?? 0)
print(prices["tea", default: 0])

배열 값에 추가하기

기본값 서브스크립트는 배열 값에도 사용할 수 있어 그룹별 목록을 만들 수 있습니다.

var groups: [String: [Int]] = [:]
groups["even", default: []].append(2)
groups["even", default: []].append(4)
print(groups["even", default: []])

기본값을 읽어도 추가되지 않습니다

기본값을 사용해 읽는다고 해서 키가 사전에 추가되지는 않습니다. +=처럼 값을 변경할 때만 키가 저장됩니다.

var data: [String: Int] = [:]
_ = data["ghost", default: 0]
print(data.count)
data["real", default: 0] += 1
print(data.count)

적절한 기본값 선택하기

값의 타입과 연산에 맞는 기본값을 선택하세요. 합계에는 0, 목록에는 [], 텍스트에는 빈 문자열을 사용합니다.

var notes: [String: String] = [:]
notes["greeting", default: ""] += "Hello"
notes["greeting", default: ""] += " World"
print(notes["greeting", default: ""])

개수 세기와 읽기 결합하기

빈도 맵을 만든 다음 같은 기본값으로 다시 읽으면 전체 과정에서 비옵셔널 상태를 유지할 수 있습니다.

var freq: [Character: Int] = [:]
for ch in "banana" {
    freq[ch, default: 0] += 1
}
print(freq["a", default: 0])
print(freq["z", default: 0])

빠른 확인

기본값 서브스크립트를 테스트합니다.

요약: 사전 기본값 서브스크립트

dict[key, default: value]를 사용하면 비옵셔널 fallback을 읽고 값을 현재 위치에서 변경할 수 있습니다. 수동으로 nil을 확인하지 않고 개수를 세고, 합계를 구하고, 그룹화할 때 적합합니다.

var c: [String: Int] = [:]
for x in ["a", "a", "b"] { c[x, default: 0] += 1 }
print(c["a", default: 0])

자주 묻는 질문

“딕셔너리 기본 서브스크립트” 강의는 무료인가요?

네 — “딕셔너리 기본 서브스크립트” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 Swift Academy 강의 전체를 잠금 해제할 수 있습니다. Swift Academy 강의에는 총 4개의 강의가 포함되어 있습니다.

“딕셔너리 기본 서브스크립트”에서 뭘 배우나요?

내장된 기본값을 사용해 딕셔너리 값을 읽습니다. 브라우저에서 직접 실행하는 실습 코드로 Swift Academy을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.

Swift Academy을(를) 시작하는 데 경험이 필요한가요?

사전 경험은 필요하지 않습니다. CoddyKit의 Swift Academy은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 4개 중 4번째 강의입니다.

“딕셔너리 기본 서브스크립트” 강의는 얼마나 걸리나요?

대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.

이 Swift Academy 강의에서 코드를 작성하고 실행할 수 있나요?

네. 모든 Swift Academy 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.

이 강의의 모든 강의

  1. 닐 병합 연산자
  2. 기본값 연결하기
  3. 함수 매개변수의 기본값
  4. 딕셔너리 기본 서브스크립트
← Swift Academy(으)로 돌아가기