if let และการผูกค่าแบบย่อ
แกะค่าจากค่าเสริมภายในขอบเขต รวมถึงรูปแบบย่อใน Swift 5.7
if let และการผูกค่าแบบย่อ เป็นบทเรียน Swift Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 1 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Swift Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Swift Academy มีบทเรียนทั้งหมด 4 บทเรียน
เหตุผลที่ต้องผูกค่าออปชัน
ต้องแกะค่าออปชันออกมาก่อนจึงจะใช้ค่าภายในได้ if let จะแกะค่าอย่างปลอดภัยเฉพาะเมื่อมีค่าอยู่
let stored: Int? = 5
if let value = stored {
print(value)
}รูปแบบ if let
เขียน if let name = optional { ... } ภายในวงเล็บปีกกา name จะเป็นค่าที่แกะแล้วและไม่ใช่ออปชัน หากค่าออปชันเป็น nil บล็อกนั้นจะถูกข้าม
let input: String? = "Swift"
if let text = input {
print(text.count)
}การเพิ่ม else
คุณสามารถต่อ else เพื่อจัดการกรณีที่เป็น nil ได้อย่างชัดเจน
let age: Int? = nil
if let a = age {
print("Age is \(a)")
} else {
print("No age provided")
}การผูกค่าแบบย่อ
ตั้งแต่ Swift 5.7 เป็นต้นมา หากค่าคงที่ใหม่มีชื่อเดียวกับค่าออปชัน คุณสามารถเขียนเพียง if let value โดยไม่ต้องเขียนส่วน = value
let score: Int? = 90
if let score {
print(score)
}รูปแบบย่อกับรูปแบบดั้งเดิม
รูปแบบย่อ if let score เหมือนกับ if let score = score ทุกประการ ช่วยลดการเขียนซ้ำเมื่อชื่อเหมือนกัน
let nickname: String? = "Sam"
if let nickname {
print("Hi \(nickname)")
}ขอบเขตของค่าที่ผูก
ค่าคงที่ที่แกะแล้วจะมีอยู่เฉพาะภายในส่วนเนื้อหาของ if เท่านั้น เมื่ออยู่นอกส่วนนั้น ค่าออปชันก็ยังคงเป็นออปชัน
let maybe: Int? = 7
if let maybe {
print(maybe + 1)
}
print(maybe as Any)การผูกค่าจากการแปลง
if let ใช้ร่วมกับการแปลงที่อาจล้มเหลว เช่น Int(string) ได้อย่างเป็นธรรมชาติ
let raw = "42"
if let number = Int(raw) {
print(number * 2)
} else {
print("Not a number")
}การผูกค่าจากพจนานุกรม
ใช้ if let เพื่ออ่านค่าจากพจนานุกรมที่อาจไม่มีคีย์นั้นได้อย่างปลอดภัย
let ages = ["Ann": 30]
if let annAge = ages["Ann"] {
print(annAge)
}
if let bobAge = ages["Bob"] {
print(bobAge)
} else {
print("Bob not found")
}การผูกสำเนาที่เปลี่ยนค่าได้
ใช้ if var เมื่อคุณต้องการแก้ไขค่าที่แกะแล้วภายในพื้นที่นั้น การเปลี่ยนแปลงจะไม่ส่งผลต่อค่าออปชันเดิม
let count: Int? = 10
if var c = count {
c += 5
print(c)
}หลีกเลี่ยงการซ้อนบล็อก
คุณสามารถวางตรรกะที่ต้องใช้ค่านั้นไว้ภายในบล็อกการผูกค่าได้อย่างปลอดภัย จึงไม่ต้องแกะค่าแบบบังคับด้วย !
let name: String? = "Lia"
if let name {
let upper = name.uppercased()
print(upper)
}เหตุผลที่ไม่ควรแกะค่าแบบบังคับ
การแกะค่าแบบบังคับด้วย ! จะทำให้โปรแกรมหยุดทำงานหากค่าออปชันเป็น nil ส่วน if let เป็นทางเลือกที่ safe และจะไม่ทำให้เกิดข้อขัดข้องในกรณีนี้
let value: Int? = nil
if let value {
print(value)
} else {
print("Safe: was nil")
}ตรวจสอบอย่างรวดเร็ว
ทดลองใช้การผูกค่าออปชัน
สรุป: if let และการผูกค่าแบบย่อ
if let จะแกะค่าออปชันเป็นค่าคงที่ภายในเฉพาะเมื่อมีค่าอยู่ รูปแบบย่อของ Swift 5.7 อย่าง if let name ช่วยไม่ต้องเขียนชื่อซ้ำ ควรเลือกใช้วิธีนี้แทนการแกะค่าแบบบังคับ
let x: Int? = 3
if let x { print(x) }คำถามที่พบบ่อย
บทเรียน “if let และการผูกค่าแบบย่อ” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “if let และการผูกค่าแบบย่อ” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Swift Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Swift Academy มีบทเรียนทั้งหมด 4 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “if let และการผูกค่าแบบย่อ”
แกะค่าจากค่าเสริมภายในขอบเขต รวมถึงรูปแบบย่อใน Swift 5.7 คุณปฏิบัติ Swift Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Swift Academy หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน Swift Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 1 จากทั้งหมด 4 บทเรียน
บทเรียน “if let และการผูกค่าแบบย่อ” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน Swift Academy นี้ได้ไหม
ได้ บทเรียน Swift Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- if let และการผูกค่าแบบย่อ
- guard let สำหรับการออกก่อนกำหนด
- การผูกค่าเสริมหลายค่า
- รูปแบบค่าเสริมใน switch และ for