ซับสคริปต์ค่าเริ่มต้นของพจนานุกรม
อ่านค่าจากพจนานุกรมพร้อมใช้ค่าเริ่มต้นในตัว
ซับสคริปต์ค่าเริ่มต้นของพจนานุกรม เป็นบทเรียน Swift Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 4 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน 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])ผลลัพธ์ไม่ใช่ออปชัน
ซับสคริปต์ที่มีค่าเริ่มต้นจะคืนค่าที่ไม่ใช่ออปชัน ต่างจากการค้นหาแบบทั่วไป จึงนำไปใช้ได้ทันทีโดยไม่ต้องแกะค่า
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])ค่าเริ่มต้นกับการรวมค่าเมื่อไม่มีข้อมูล
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] เพื่ออ่านค่าทดแทนที่ไม่ใช่ออปชัน และเพื่อเปลี่ยนค่าโดยตรง วิธีนี้เหมาะสำหรับการนับ การหาผลรวม และการจัดกลุ่มโดยไม่ต้องตรวจสอบค่า nil ด้วยตนเอง
var c: [String: Int] = [:]
for x in ["a", "a", "b"] { c[x, default: 0] += 1 }
print(c["a", default: 0])คำถามที่พบบ่อย
บทเรียน “ซับสคริปต์ค่าเริ่มต้นของพจนานุกรม” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “ซับสคริปต์ค่าเริ่มต้นของพจนานุกรม” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Swift Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Swift Academy มีบทเรียนทั้งหมด 4 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “ซับสคริปต์ค่าเริ่มต้นของพจนานุกรม”
อ่านค่าจากพจนานุกรมพร้อมใช้ค่าเริ่มต้นในตัว คุณปฏิบัติ Swift Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Swift Academy หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน Swift Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 4 จากทั้งหมด 4 บทเรียน
บทเรียน “ซับสคริปต์ค่าเริ่มต้นของพจนานุกรม” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน Swift Academy นี้ได้ไหม
ได้ บทเรียน Swift Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- ตัวดำเนินการรวมค่าเมื่อเป็น nil
- การเชื่อมโยงค่าเริ่มต้น
- ค่าเริ่มต้นในพารามิเตอร์ฟังก์ชัน
- ซับสคริปต์ค่าเริ่มต้นของพจนานุกรม