Swift Academy · บทเรียน

การควบคุมลูปในบริบท switch

แยกความแตกต่างของ break ในลูปและในสวิตช์

บทเรียน 4 จาก 413 ขั้นตอน

การควบคุมลูปในบริบท switch เป็นบทเรียน Swift Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 4 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Swift Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Swift Academy มีบทเรียนทั้งหมด 4 บทเรียน

break ใน switch

ภายใน switch break จะจบกรณีของ switch นั้น กรณีของ Swift จะไม่ไหลต่อไปยังกรณีถัดไป ดังนั้นโดยทั่วไปจึงไม่จำเป็นต้องใช้ break แต่ยังสามารถใช้ได้

let n = 2
switch n {
case 1:
    print("one")
case 2:
    print("two")
    break
default:
    print("other")
}

กรณีว่างด้วย break

ใช้ break เพื่อระบุอย่างชัดเจนว่ากรณีหนึ่งไม่ต้องทำอะไร ซึ่งอ่านเข้าใจง่ายกว่าการปล่อยส่วนเนื้อหาให้ว่าง

let code = 0
switch code {
case 0:
    break // intentionally ignore
default:
    print("handled", code)
}
print("after switch")

break ใน switch ภายในลูป

เมื่อมี switch อยู่ภายในลูป break ธรรมดาจะออกจาก switch ไม่ใช่ลูป

for n in 1...4 {
    switch n {
    case 3:
        break // exits switch only
    default:
        print(n)
    }
}
print("loop finished")

ออกจากลูปจากภายใน switch

หากต้องการออกจากลูปที่ครอบอยู่จากภายใน switch ให้ติดป้ายกำกับให้ลูป แล้วใช้ break label

loop: for n in 1...5 {
    switch n {
    case 3:
        break loop
    default:
        print(n)
    }
}
print("done")

continue จากภายใน switch

continue ธรรมดาภายใน switch จะอ้างถึงลูปที่ครอบอยู่ และข้ามไปยังรอบถัดไปของลูปนั้น

for n in 1...5 {
    switch n {
    case let x where x % 2 == 0:
        continue
    default:
        print(n)
    }
}

เหตุใดความแตกต่างนี้จึงสำคัญ

การสับสนระหว่าง break ของ switch กับ break ของลูปเป็นข้อผิดพลาดที่พบบ่อย โปรดจำไว้ว่า break เปล่าภายใน switch จะออกจาก switch เท่านั้น

for n in 1...3 {
    switch n {
    case 2:
        break
    default:
        print("value", n)
    }
}
print("all values processed")

fallthrough

หากต้องการให้การทำงานไหลต่อไปยังกรณีถัดไปจริง ๆ ให้ใช้คำสำคัญ fallthrough โดยชัดเจน

let n = 1
switch n {
case 1:
    print("one")
    fallthrough
case 2:
    print("two")
default:
    print("done")
}

break พร้อมป้ายกำกับเพื่อความชัดเจน

แม้จะไม่จำเป็นอย่างเคร่งครัด การใช้ break พร้อมป้ายกำกับก็ช่วยบันทึกเจตนาว่าคุณหมายถึงลูป

scan: for value in [10, 20, 30, 40] {
    switch value {
    case 30:
        break scan
    default:
        print(value)
    }
}

การใช้ส่วนเงื่อนไขร่วมกัน

ส่วนเงื่อนไขรูปแบบ where ร่วมกับ continue ช่วยให้กรองค่าอย่างกระชับภายใน switch

for n in 1...6 {
    switch n {
    case let x where x > 4:
        continue
    default:
        print(n)
    }
}

switch และลูปที่ซ้อนกัน

เมื่อมีลูปและ switch ที่ซ้อนกัน ป้ายกำกับจะทำให้เป้าหมายชัดเจนไม่กำกวม

outer: for i in 1...3 {
    for j in 1...3 {
        switch j {
        case 2:
            break outer
        default:
            print(i, j)
        }
    }
}

แนวปฏิบัติที่ดี

ใช้ break เปล่าเฉพาะเพื่อออกจากกรณีของ switch เท่านั้น และติดป้ายกำกับให้ลูปเสมอเมื่อตั้งใจจะออกจากลูปภายใน switch

main: for n in 1...5 {
    switch n {
    case 4:
        break main
    default:
        print(n)
    }
}

ตรวจสอบความเข้าใจ

ทดสอบ break กับลูป

สรุป

ใน switch break เปล่าจะออกจากกรณีของ switch เท่านั้น (Swift ไม่มีการไหลต่อโดยปริยาย หากต้องการเช่นนั้นให้ใช้ fallthrough) หากต้องการออกจากลูปที่ครอบอยู่จากภายใน switch ให้ติดป้ายกำกับลูปแล้วใช้ break label ส่วน continue เปล่ายังคงอ้างถึงลูป

loop: for n in 1...4 {
    switch n {
    case 3: break loop
    default: print(n)
    }
}
เริ่มต้นได้ฟรี

เรียนรู้ Swift ด้วย AI tutor — ฟรี

เขียนและเรียกใช้โค้ดจริงในเบราว์เซอร์ของคุณ รับความช่วยเหลือทันทีจาก AI tutor 24/7 และเรียนรู้ต่อจากที่คุณหยุดบนเว็บหรือในแอป

คอร์ส
122
บทเรียน
409

คำถามที่พบบ่อย

บทเรียน “การควบคุมลูปในบริบท switch” ฟรีหรือไม่

ใช่ — ข้อความเต็มของ “การควบคุมลูปในบริบท switch” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Swift Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Swift Academy มีบทเรียนทั้งหมด 4 บทเรียน

คุณจะเรียนรู้อะไรในบทเรียน “การควบคุมลูปในบริบท switch”

แยกความแตกต่างของ break ในลูปและในสวิตช์ คุณปฏิบัติ Swift Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน

คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Swift Academy หรือไม่

ไม่จำเป็นต้องมีประสบการณ์มาก่อน Swift Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 4 จากทั้งหมด 4 บทเรียน

บทเรียน “การควบคุมลูปในบริบท switch” ใช้เวลานานแค่ไหน

บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย

ฉันเขียนและรันโค้ดในบทเรียน Swift Academy นี้ได้ไหม

ได้ บทเรียน Swift Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

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

  1. พื้นฐาน break และ continue
  2. คำสั่งที่มีป้ายกำกับ
  3. การออกจากลูปซ้อนกัน
  4. การควบคุมลูปในบริบท switch
← กลับไปที่ Swift Academy