รูปแบบค่าเสริมใน switch และ for
จับคู่ค่าเสริมด้วยรูปแบบ case let
รูปแบบค่าเสริมใน switch และ for เป็นบทเรียน Swift Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 4 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Swift Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Swift Academy มีบทเรียนทั้งหมด 4 บทเรียน
ค่าทางเลือกในคำสั่งเลือกกรณี
คุณสามารถใช้คำสั่งเลือกกรณีกับค่าทางเลือกได้โดยตรง กรณี .some(value) และ .none จะจับคู่กับค่าที่มีอยู่หรือ nil ตามลำดับ
let value: Int? = 7
switch value {
case .some(let n):
print("Got \(n)")
case .none:
print("Nothing")
}รูปแบบย่อด้วย ?
การเขียน case let x? เป็นรูปแบบย่อของ .some(x) เครื่องหมาย ? ที่ต่อท้ายหมายถึง “แยกค่าออกมาเป็น x”
let value: String? = "Swift"
switch value {
case let text?:
print(text.uppercased())
case nil:
print("none")
}จับคู่ค่าว่างโดยตรง
คุณสามารถจับคู่กรณี nil ด้วยค่า nil โดยตรงแทน .none ซึ่งอ่านได้เป็นธรรมชาติมากกว่า
let value: Int? = nil
switch value {
case let n?:
print(n)
case nil:
print("no value")
}จับคู่ค่าเฉพาะ
คุณสามารถผสมค่าที่แยกออกมาแบบเฉพาะเจาะจงเข้ากับรูปแบบการแยกค่าทั่วไปได้
let status: Int? = 404
switch status {
case 200?:
print("OK")
case 404?:
print("Not Found")
case let code?:
print("Other: \(code)")
case nil:
print("No status")
}รูปแบบการผูกค่าในการวนซ้ำ
เมื่อวนซ้ำผ่านค่าทางเลือก for case let x? in array จะข้ามสมาชิกที่เป็น nil โดยอัตโนมัติ และแยกค่าที่เหลือออกจากค่าที่ห่อหุ้ม
let items: [Int?] = [1, nil, 3, nil, 5]
for case let n? in items {
print(n)
}รูปแบบการกรองการวนซ้ำ
รูปแบบ case let n? จะจับคู่เฉพาะสมาชิกที่ไม่เป็นค่าว่าง ดังนั้นเนื้อหาของลูปจึงทำงานเฉพาะกับค่าที่มีอยู่เท่านั้น
let names: [String?] = ["Ann", nil, "Bo"]
for case let name? in names {
print(name.count)
}รูปแบบเทียบเท่าด้วยการผูกค่าแบบเงื่อนไข
คุณสามารถทำสิ่งเดียวกันได้ด้วยการใช้การผูกค่าแบบเงื่อนไขภายในลูปทั่วไป แต่ for case let x? กระชับกว่า
let items: [Int?] = [2, nil, 4]
for item in items {
if let item {
print(item)
}
}จับคู่ค่าทางเลือกของชนิดแจกแจง
รูปแบบค่าทางเลือกสามารถใช้ร่วมกับรูปแบบอื่นได้ เช่น การจับคู่ค่าเฉพาะภายในค่าทางเลือก
let codes: [Int?] = [1, 2, nil, 3]
for case let c? in codes where c % 2 == 1 {
print("odd: \(c)")
}เงื่อนไขกรองในการวนซ้ำแบบจับคู่กรณี
เพิ่มส่วนเงื่อนไขกรองเพื่อกรองข้อมูลเพิ่มเติมหลังจากแยกค่าที่ห่อหุ้มในลูปแบบจับคู่กรณี
let scores: [Int?] = [40, nil, 80, 95]
for case let s? in scores where s >= 80 {
print("high: \(s)")
}คำสั่งเลือกกรณีพร้อมเงื่อนไขกรอง
ภายในคำสั่งเลือกกรณีของค่าทางเลือก คุณสามารถใช้ค่าที่แยกออกมาแล้วด้วยส่วนเงื่อนไขกรองเพื่อกำหนดเงื่อนไขให้ละเอียดขึ้น
let value: Int? = 12
switch value {
case let n? where n > 10:
print("big: \(n)")
case let n?:
print("small: \(n)")
case nil:
print("none")
}เหตุผลที่ควรใช้รูปแบบเหล่านี้
รูปแบบค่าทางเลือกช่วยให้คุณจัดการค่าที่มีอยู่และไม่มีอยู่ภายในโครงสร้างเดียวที่ครอบคลุมทุกกรณี ลดการตรวจสอบค่าว่างที่กระจัดกระจาย
let result: String? = nil
switch result {
case let r?:
print("Value: \(r)")
case nil:
print("Empty result")
}ตรวจสอบอย่างรวดเร็ว
ทดสอบรูปแบบค่าทางเลือก
สรุป: รูปแบบค่าทางเลือกในคำสั่งเลือกกรณีและการวนซ้ำ
ใช้ case let x? ซึ่งเป็นรูปแบบย่อของ .some และใช้ case nil ในคำสั่งเลือกกรณี ส่วน for case let x? ใช้สำหรับวนซ้ำผ่านสมาชิกที่ไม่เป็นค่าว่างพร้อมแยกค่าออกจากค่าที่ห่อหุ้ม โดยสามารถใช้ส่วน where เพื่อกำหนดเงื่อนไขเพิ่มเติมได้
let xs: [Int?] = [10, nil, 20]
for case let x? in xs { print(x) }คำถามที่พบบ่อย
บทเรียน “รูปแบบค่าเสริมใน switch และ for” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “รูปแบบค่าเสริมใน switch และ for” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Swift Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Swift Academy มีบทเรียนทั้งหมด 4 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “รูปแบบค่าเสริมใน switch และ for”
จับคู่ค่าเสริมด้วยรูปแบบ case let คุณปฏิบัติ Swift Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Swift Academy หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน Swift Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 4 จากทั้งหมด 4 บทเรียน
บทเรียน “รูปแบบค่าเสริมใน switch และ for” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน Swift Academy นี้ได้ไหม
ได้ บทเรียน Swift Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- if let และการผูกค่าแบบย่อ
- guard let สำหรับการออกก่อนกำหนด
- การผูกค่าเสริมหลายค่า
- รูปแบบค่าเสริมใน switch และ for