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

รูปแบบค่าเสริมใน 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 ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

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

  1. if let และการผูกค่าแบบย่อ
  2. guard let สำหรับการออกก่อนกำหนด
  3. การผูกค่าเสริมหลายค่า
  4. รูปแบบค่าเสริมใน switch และ for
← กลับไปที่ Swift Academy