0Pricing
Swift Academy · บทเรียน

ซับสคริปต์ค่าเริ่มต้นของพจนานุกรม

อ่านค่าจากพจนานุกรมพร้อมใช้ค่าเริ่มต้นในตัว

ซับสคริปต์ค่าเริ่มต้นของพจนานุกรม เป็นบทเรียน 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 ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. ตัวดำเนินการรวมค่าเมื่อเป็น nil
  2. การเชื่อมโยงค่าเริ่มต้น
  3. ค่าเริ่มต้นในพารามิเตอร์ฟังก์ชัน
  4. ซับสคริปต์ค่าเริ่มต้นของพจนานุกรม
← กลับไปที่ Swift Academy