การผูกค่าเสริมหลายค่า
แกะค่าจากค่าเสริมหลายค่าภายในเงื่อนไขเดียว
การผูกค่าเสริมหลายค่า เป็นบทเรียน Swift Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 3 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Swift Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Swift Academy มีบทเรียนทั้งหมด 4 บทเรียน
การผูกค่าหลายค่าในครั้งเดียว
คุณสามารถแยกค่าทางเลือกหลายค่าออกจากค่าที่ห่อหุ้มภายใน if let เดียวได้โดยคั่นด้วยจุลภาค ทุกค่าต้องไม่เป็นค่าว่างจึงจะทำงานในเนื้อหาบล็อกได้
let a: Int? = 1
let b: Int? = 2
if let a, let b {
print(a + b)
}สำเร็จทั้งหมดหรือล้มเหลวทั้งหมด
หากค่าทางเลือกใด ๆ ในรายการเป็น nil บล็อกทั้งหมดจะถูกข้าม นี่คือการแยกค่าที่ห่อหุ้มแบบสำเร็จทั้งหมดหรือล้มเหลวทั้งหมด
let first: String? = "Ada"
let last: String? = nil
if let first, let last {
print("\(first) \(last)")
} else {
print("Missing a name")
}รูปแบบเต็ม
รูปแบบเต็มใช้การกำหนดค่าอย่างชัดเจน: if let a = optA, let b = optB ส่วนรูปแบบย่อจะตัดชื่อที่ซ้ำกันออก
let optX: Int? = 10
let optY: Int? = 20
if let x = optX, let y = optY {
print(x * y)
}การผสมการผูกค่ากับเงื่อนไข
คุณสามารถสลับเงื่อนไขบูลีนกับการผูกค่าได้ เงื่อนไขลำดับถัดไปอาจใช้ค่าที่แยกออกจากค่าที่ห่อหุ้มแล้วก่อนหน้านั้น
let age: Int? = 25
if let age, age >= 18 {
print("Adult: \(age)")
}การแยกค่าที่ขึ้นต่อกัน
การผูกค่าลำดับถัดไปสามารถขึ้นต่อกับค่าก่อนหน้าได้ เนื่องจากแต่ละค่าจะถูกแยกออกจากค่าที่ห่อหุ้มตามลำดับจากซ้ายไปขวา
let dict = ["key": "42"]
if let text = dict["key"], let number = Int(text) {
print(number + 8)
}ลำดับมีความสำคัญ
การผูกค่าจะถูกประเมินตามลำดับและหยุดทำงานทันทีเมื่อพบความล้มเหลว หากรายการแรกไม่ผ่าน รายการถัดไปจะไม่ถูกประเมินเลย
func parse(_ s: String?) -> Int? {
print("parsing")
return s.flatMap { Int($0) }
}
let a: Int? = nil
if let a, let b = parse("5") {
print(a + b)
} else {
print("skipped")
}การผูกค่าหลายค่าในคำสั่งตรวจสอบล่วงหน้า
รูปแบบที่คั่นด้วยจุลภาคแบบเดียวกันนี้ใช้กับ guard let ได้ โดยจะแยกค่าหลายค่าออกจากค่าที่ห่อหุ้มก่อนดำเนินการต่อ
func makeFullName(_ first: String?, _ last: String?) -> String {
guard let first, let last else { return "Unknown" }
return "\(first) \(last)"
}
print(makeFullName("Grace", "Hopper"))การรวมการแปลงค่า
การผูกค่าหลายค่ามีประโยชน์มากสำหรับแยกข้อมูลนำเข้าชนิดสตริงหลายรายการออกจากค่าที่ห่อหุ้มในครั้งเดียว
let wInput = "4"
let hInput = "5"
if let w = Int(wInput), let h = Int(hInput) {
print("Area: \(w * h)")
}หลีกเลี่ยงการผูกค่าแบบเงื่อนไขซ้อนกัน
หากไม่มีการผูกค่าหลายค่า คุณจะต้องซ้อนบล็อก if let หลายชั้นจนเกิดเป็นพีระมิด รูปแบบที่คั่นด้วยจุลภาคช่วยทำให้โครงสร้างนี้ราบเรียบ
let p: Int? = 2
let q: Int? = 3
if let p {
if let q {
print(p + q)
}
}รูปแบบที่ราบเรียบ
นี่คือตรรกะเดียวกับตัวอย่างที่ซ้อนกันก่อนหน้า แต่เขียนให้ราบเรียบด้วยการผูกค่าหลายค่าเพียงครั้งเดียว
let p: Int? = 2
let q: Int? = 3
if let p, let q {
print(p + q)
}พร้อมเงื่อนไขต่อท้าย
คุณสามารถปิดท้ายด้วยการตรวจสอบบูลีนเพื่อยืนยันผลลัพธ์ที่รวมกันแล้ว
let xs = "3"
let ys = "9"
if let x = Int(xs), let y = Int(ys), x < y {
print("\(x) is less than \(y)")
}ตรวจสอบอย่างรวดเร็ว
ทดสอบการผูกค่าทางเลือกหลายค่า
สรุป: การผูกค่าทางเลือกหลายค่า
แยกค่าทางเลือกหลายค่าออกจากค่าที่ห่อหุ้มภายใน if let หรือ guard let เดียวโดยใช้จุลภาค การทำงานจะสำเร็จทั้งหมดหรือล้มเหลวทั้งหมด ประเมินจากซ้ายไปขวา รองรับการผูกค่าที่ขึ้นต่อกัน และสามารถผสมเงื่อนไขบูลีนได้
let a: Int? = 1
let b: Int? = 2
if let a, let b { print(a + b) }คำถามที่พบบ่อย
บทเรียน “การผูกค่าเสริมหลายค่า” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “การผูกค่าเสริมหลายค่า” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Swift Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Swift Academy มีบทเรียนทั้งหมด 4 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “การผูกค่าเสริมหลายค่า”
แกะค่าจากค่าเสริมหลายค่าภายในเงื่อนไขเดียว คุณปฏิบัติ Swift Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Swift Academy หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน Swift Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 3 จากทั้งหมด 4 บทเรียน
บทเรียน “การผูกค่าเสริมหลายค่า” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน Swift Academy นี้ได้ไหม
ได้ บทเรียน Swift Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- if let และการผูกค่าแบบย่อ
- guard let สำหรับการออกก่อนกำหนด
- การผูกค่าเสริมหลายค่า
- รูปแบบค่าเสริมใน switch และ for