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

การจับคู่ช่วงค่าและทูเพิล

ใช้ switch กับช่วงตัวเลขและรูปแบบทูเพิล

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

การจับคู่ช่วงค่า

กรณีหนึ่งสามารถจับคู่ค่าทั้งช่วงได้โดยใช้ตัวดำเนินการช่วง เช่น 1...5 หากค่าอยู่ภายในช่วงนั้น กรณีดังกล่าวจะทำงาน

let score = 85
switch score {
case 0..<50:
    print("Fail")
case 50...100:
    print("Pass")
default:
    print("Invalid")
}

ช่วงแบบปิดเทียบกับช่วงแบบกึ่งเปิด

ใช้ช่วงแบบปิด (...) เพื่อรวมขอบเขตบน และใช้ช่วงแบบกึ่งเปิด (..<) เพื่อไม่รวมขอบเขตบน เลือกขอบเขตที่ไม่ทับซ้อนกัน

let age = 18
switch age {
case 0..<13:
    print("Child")
case 13..<20:
    print("Teen")
default:
    print("Adult")
}

ลำดับของกรณีช่วงค่า

ภาษาสวิฟต์จะตรวจสอบกรณีจากบนลงล่างและทำงานตามกรณีแรกที่ตรงกัน ดังนั้นการใช้ช่วงที่ไม่ทับซ้อนกันจึงทำให้พฤติกรรมคาดเดาได้

let temp = 30
switch temp {
case ..<0:
    print("Freezing")
case 0..<20:
    print("Cool")
case 20...:
    print("Warm")
default:
    print("?")
}

การเลือกกรณีจากทูเพิล

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

let point = (1, 1)
switch point {
case (0, 0):
    print("Origin")
case (_, 0):
    print("On x-axis")
case (0, _):
    print("On y-axis")
default:
    print("Elsewhere")
}

สัญลักษณ์แทนค่าในทูเพิล

ขีดล่าง _ จะจับคู่ค่าใด ๆ ในตำแหน่งนั้น ทำให้คุณมุ่งความสนใจไปยังเฉพาะส่วนที่ต้องการได้

let result = (200, "OK")
switch result {
case (200, _):
    print("Success")
case (_, "Error"):
    print("Has error")
default:
    print("Other")
}

ช่วงค่าภายในทูเพิล

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

let coord = (3, 8)
switch coord {
case (0...5, 0...5):
    print("Bottom-left quadrant")
case (0...5, 6...10):
    print("Top-left quadrant")
default:
    print("Far")
}

การจับคู่ทูเพิลแบบตรงทั้งหมด

คุณสามารถจับคู่ทูเพิลที่ระบุค่าครบทุกตำแหน่ง เพื่อตรวจหาการรวมค่าที่ตรงกันทั้งหมด

let move = ("up", 2)
switch move {
case ("up", 2):
    print("Jump twice up")
case ("down", _):
    print("Going down")
default:
    print("Other move")
}

การจัดประเภทตัวเลข

การจับคู่ช่วงค่าช่วยให้การจัดประเภทตัวเลขลงในกลุ่มต่าง ๆ เป็นเรื่องชัดเจนและตรงไปตรงมา

let n = -4
switch n {
case ..<0:
    print("negative")
case 0:
    print("zero")
case 1...:
    print("positive")
default:
    print("?")
}

ช่วงของอักขระ

เนื่องจากอักขระสามารถเปรียบเทียบกันได้ คุณจึงสามารถจับคู่ช่วงของอักขระได้เช่นกัน

let ch: Character = "k"
switch ch {
case "a"..."m":
    print("First half")
case "n"..."z":
    print("Second half")
default:
    print("Not a lowercase letter")
}

การรวมตำแหน่งของทูเพิล

การจับคู่ทูเพิลจะประเมินทุกตำแหน่งร่วมกัน ทุกตำแหน่งต้องตรงกันกรณีจึงจะทำงาน

let weather = (sunny: true, temp: 25)
switch (weather.sunny, weather.temp) {
case (true, 20...):
    print("Nice and warm")
case (true, _):
    print("Sunny but cool")
default:
    print("Not sunny")
}

เหตุผลที่รูปแบบนี้มีประสิทธิภาพ

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

let (x, y) = (0, 5)
switch (x, y) {
case (0, 0): print("origin")
case (0, _): print("y-axis")
case (_, 0): print("x-axis")
default: print("plane")
}

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

ทดสอบการจับคู่ช่วงค่าและทูเพิล

สรุป: การจับคู่ช่วงค่าและทูเพิล

กรณีต่าง ๆ สามารถจับคู่ช่วงค่า เช่น 1...5 และ 0..<n ได้ ส่วนรูปแบบทูเพิลช่วยให้จับคู่หลายค่าในครั้งเดียวโดยใช้ค่าตามตัวอักษร ช่วงค่า และสัญลักษณ์แทนค่า _

let p = (0, 4)
switch p {
case (0, _): print("y-axis")
default: print("other")
}

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

บทเรียน “การจับคู่ช่วงค่าและทูเพิล” ฟรีหรือไม่

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

คุณจะเรียนรู้อะไรในบทเรียน “การจับคู่ช่วงค่าและทูเพิล”

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

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

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

บทเรียน “การจับคู่ช่วงค่าและทูเพิล” ใช้เวลานานแค่ไหน

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

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

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

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

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