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

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 ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

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

  1. if let และการผูกค่าแบบย่อ
  2. guard let สำหรับการออกก่อนกำหนด
  3. การผูกค่าเสริมหลายค่า
  4. รูปแบบค่าเสริมใน switch และ for
← กลับไปที่ Swift Academy