การควบคุมลูปในบริบท switch
แยกความแตกต่างของ break ในลูปและในสวิตช์
การควบคุมลูปในบริบท 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 ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- พื้นฐาน break และ continue
- คำสั่งที่มีป้ายกำกับ
- การออกจากลูปซ้อนกัน
- การควบคุมลูปในบริบท switch