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