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