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

สวิตช์ค่าที่ครอบคลุมทุกกรณี

ครอบคลุมทุกกรณีหรือใช้แขนงค่าเริ่มต้น

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

หน้าที่ของคำสั่งเลือกกรณี

คำสั่ง switch จะเปรียบเทียบค่ากับหลายกรณีและทำงานตามกรณีแรกที่ตรงกัน เป็นทางเลือกที่อ่านง่ายกว่าโซ่เงื่อนไข if/else-if ที่ยาว

let day = 3
switch day {
case 1:
    print("Monday")
case 2:
    print("Tuesday")
case 3:
    print("Wednesday")
default:
    print("Other")
}

ไม่มีการไหลต่อโดยนัย

ต่างจากภาษาซี กรณีต่าง ๆ ในภาษาสวิฟต์จะไม่ไหลต่อไปยังกรณีถัดไปโดยอัตโนมัติ หลังจากกรณีที่ตรงกันทำงาน คำสั่งเลือกกรณีจะสิ้นสุดลง ไม่จำเป็นต้องใช้ break

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

คำสั่งเลือกกรณีต้องครอบคลุมทุกกรณี

คำสั่งเลือกกรณีต้องครอบคลุมค่าที่เป็นไปได้ทั้งหมด สำหรับ Int คุณไม่สามารถระบุค่าทั้งหมดได้ จึงต้องจัดเตรียมกรณี default

let code = 500
switch code {
case 200:
    print("OK")
case 404:
    print("Not Found")
default:
    print("Unhandled: \(code)")
}

กรณีเริ่มต้น

กรณี default จะรองรับทุกค่าที่ไม่ตรงกับกรณีก่อนหน้า และต้องอยู่เป็นกรณีสุดท้าย

let grade = "X"
switch grade {
case "A":
    print("Excellent")
case "B":
    print("Good")
default:
    print("Needs review")
}

การเลือกกรณีจากสตริง

คำสั่งเลือกกรณีใช้กับค่าใด ๆ ที่เปรียบเทียบความเท่ากันได้ รวมถึงสตริง

let command = "start"
switch command {
case "start":
    print("Starting")
case "stop":
    print("Stopping")
default:
    print("Unknown command")
}

ไม่มีกรณีว่างเปล่า

แต่ละกรณีต้องมีคำสั่งอย่างน้อยหนึ่งคำสั่ง หากคุณต้องการให้กรณีใดไม่ทำอะไรจริง ๆ ให้เขียน break

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

คำสั่งเลือกกรณีในฐานะคำสั่ง

คำสั่งเลือกกรณีใช้สำหรับทำงานตามคำสั่งต่าง ๆ ไม่ได้คืนค่าโดยตัวมันเอง หากต้องการสร้างค่า ให้กำหนดค่าภายในแต่ละกรณีหรือใช้เพื่อเรียกใช้ฟังก์ชัน

let level = 2
var label: String
switch level {
case 1: label = "low"
case 2: label = "mid"
default: label = "high"
}
print(label)

การเลือกกรณีจากค่าบูลีน

คุณสามารถใช้คำสั่งเลือกกรณีกับค่าบูลีน โดยมีกรณี true และ false ไม่จำเป็นต้องมีกรณีเริ่มต้น เพราะทั้งสองกรณีครอบคลุมค่าที่เป็นไปได้ทั้งหมดแล้ว

let isReady = true
switch isReady {
case true:
    print("Go")
case false:
    print("Wait")
}

ชนิดแจกแจงไม่จำเป็นต้องมีกรณีเริ่มต้น

เมื่อใช้คำสั่งเลือกกรณีกับชนิดแจกแจงและจัดการครบทุกกรณีแล้ว คำสั่งนั้นก็ครอบคลุมค่าทั้งหมด จึงไม่จำเป็นต้องมีกรณีเริ่มต้น

enum Direction { case north, south }
let d = Direction.north
switch d {
case .north: print("Up")
case .south: print("Down")
}

ตรรกะหลายทางที่อ่านง่าย

คำสั่งเลือกกรณีช่วยจัดระเบียบการตัดสินใจหลายทาง แต่ละผลลัพธ์อยู่ในกรณีที่มีป้ายกำกับของตนเอง จึงดูภาพรวมและขยายต่อได้ง่าย

let score = 72
var result: String
switch score {
case 90...100: result = "A"
case 80..<90: result = "B"
case 70..<80: result = "C"
default: result = "F"
}
print(result)

ตำแหน่งของกรณีเริ่มต้น

default ต้องเป็นกรณีสุดท้าย หากวางไว้ก่อนหน้า กรณีถัดไปจะไม่สามารถเข้าถึงได้ ซึ่งภาษาสวิฟต์ไม่อนุญาต

let x = 7
switch x {
case 0:
    print("zero")
case 7:
    print("seven")
default:
    print("something else")
}

ตรวจสอบอย่างรวดเร็ว

ทดสอบคำสั่งเลือกกรณีที่ครอบคลุมทุกกรณี

สรุป: คำสั่งเลือกกรณีที่ครอบคลุมค่าทั้งหมด

คำสั่ง switch ของภาษาสวิฟต์จะเลือกกรณีแรกที่ตรงกัน จะไม่ไหลต่อโดยนัย และต้องครอบคลุมค่าที่เป็นไปได้ทั้งหมด ใช้ default กับชนิดข้อมูลที่มีขอบเขตเปิด เช่น Int หรือ String ส่วนชนิดแจกแจงที่จัดการครบทุกกรณีไม่จำเป็นต้องมีกรณีเริ่มต้น

let n = 3
switch n {
case 1: print("a")
default: print("b")
}

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

บทเรียน “สวิตช์ค่าที่ครอบคลุมทุกกรณี” ฟรีหรือไม่

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

คุณจะเรียนรู้อะไรในบทเรียน “สวิตช์ค่าที่ครอบคลุมทุกกรณี”

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

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

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

บทเรียน “สวิตช์ค่าที่ครอบคลุมทุกกรณี” ใช้เวลานานแค่ไหน

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

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

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

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

  1. สวิตช์ค่าที่ครอบคลุมทุกกรณี
  2. การจับคู่ช่วงค่าและทูเพิล
  3. การผูกค่าและอนุประโยค where
  4. กรณีผสมและ fallthrough
← กลับไปที่ Swift Academy