Swift Academy · บทเรียน

การผูกค่าและอนุประโยค where

ผูกค่าที่จับคู่ได้และเพิ่มเงื่อนไขเพิ่มเติม

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

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

การผูกค่าในกรณี

กรณีในคำสั่งเลือกกรณีสามารถผูกค่าที่จับคู่ได้เข้ากับค่าคงที่ด้วย case let x ทำให้สามารถใช้ค่านั้นภายในกรณีดังกล่าวได้

let value = 42
switch value {
case let n:
    print("The number is \(n)")
}

การผูกค่าบางส่วนของทูเพิล

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

let point = (3, 7)
switch point {
case (let x, 0):
    print("On x-axis at \(x)")
case (0, let y):
    print("On y-axis at \(y)")
case let (x, y):
    print("At \(x), \(y)")
}

ส่วนเงื่อนไขกรอง

เพิ่มส่วน where ให้กับกรณีเพื่อใช้เงื่อนไขบูลีนเพิ่มเติมกับค่าที่ผูกไว้ กรณีจะตรงกันก็ต่อเมื่อทั้งรูปแบบและเงื่อนไขเป็นจริง

let number = 8
switch number {
case let n where n % 2 == 0:
    print("\(n) is even")
case let n:
    print("\(n) is odd")
}

เงื่อนไขกรองกับช่วงค่า

คุณสามารถใช้รูปแบบช่วงค่าร่วมกับส่วน where เพื่อควบคุมการจับคู่ให้ละเอียดขึ้น

let score = 95
switch score {
case 90...100 where score == 100:
    print("Perfect")
case 90...100:
    print("Excellent")
default:
    print("Keep trying")
}

เงื่อนไขกรองกับทูเพิล

ส่วน where สามารถใช้เปรียบเทียบสมาชิกของทูเพิลที่ผูกค่าไว้กับสมาชิกอื่นได้

let point = (4, 4)
switch point {
case let (x, y) where x == y:
    print("On the diagonal")
case let (x, y):
    print("Off diagonal at \(x), \(y)")
}

เงื่อนไขกรองหลายเงื่อนไข

เงื่อนไขหลัง where สามารถเป็นนิพจน์บูลีนใด ๆ รวมถึง && และ ||

let n = 15
switch n {
case let x where x > 10 && x < 20:
    print("In the teens-ish range")
default:
    print("Outside range")
}

ลำดับร่วมกับเงื่อนไขกรอง

กรณีที่มีส่วน where จะจับคู่ก็ต่อเมื่อเงื่อนไขเป็นจริงเท่านั้น มิฉะนั้นภาษาสวิฟต์จะไปตรวจสอบกรณีถัดไป

let temp = 5
switch temp {
case let t where t < 0:
    print("Freezing")
case let t where t < 10:
    print("Cold")
default:
    print("Mild or warm")
}

การผูกค่าในกรณีช่วงค่า

คุณสามารถผูกค่าและยังคงจำกัดให้ค่านั้นอยู่ในช่วงที่กำหนดด้วย where ได้

let age = 67
switch age {
case let a where a >= 65:
    print("Senior, age \(a)")
case let a where a >= 18:
    print("Adult, age \(a)")
default:
    print("Minor")
}

การจัดประเภทพร้อมการผูกค่า

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

let balance = -50
switch balance {
case let b where b < 0:
    print("Overdrawn by \(-b)")
case 0:
    print("Empty")
case let b:
    print("Balance: \(b)")
}

เหตุผลที่การผูกค่าช่วยได้

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

let input = 21
switch input {
case let n where n.isMultiple(of: 3):
    print("\(n) is divisible by 3")
default:
    print("Not divisible by 3")
}

การผูกค่าที่ครอบคลุมทุกกรณี

case let x สุดท้ายที่ไม่มีเงื่อนไขจะทำหน้าที่คล้ายกรณีเริ่มต้น แต่ยังคงให้คุณใช้ค่านั้นได้

let code = 17
switch code {
case 0:
    print("zero")
case let other:
    print("non-zero: \(other)")
}

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

ทดสอบการผูกค่าและเงื่อนไขกรอง

สรุป: การผูกค่าและส่วนเงื่อนไขกรอง

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

let n = 6
switch n {
case let x where x > 0: print("positive \(x)")
default: print("non-positive")
}
เริ่มต้นได้ฟรี

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

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

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

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

บทเรียน “การผูกค่าและอนุประโยค where” ฟรีหรือไม่

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

คุณจะเรียนรู้อะไรในบทเรียน “การผูกค่าและอนุประโยค where”

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

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

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

บทเรียน “การผูกค่าและอนุประโยค where” ใช้เวลานานแค่ไหน

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

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

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

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

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