Swift:
การแทรกค่าลงในสตริง
วิธีการ:
Swift ทำให้การเชื่อมต่อสตริงแบบนี้เป็นเรื่องง่ายด้วย syntax \ (variableName).
let name = "Jane"
let age = 28
let greeting = "Hello, \(name), you are \(age) years old."
print(greeting) // ผลลัพธ์: Hello, Jane, you are 28 years old.คุณยังสามารถทำการดำเนินการภายในการแทรกค่า:
let apples = 3
let oranges = 5
let fruitSummary = "I have \(apples + oranges) pieces of fruit."
print(fruitSummary) // ผลลัพธ์: I have 8 pieces of fruit.ลงลึก
โอเค, เรามาดูประวัติศาสตร์กันหน่อย String interpolation ไม่ใช่ที่เฉพาะของ Swift เท่านั้น มันมีอยู่ในหลายภาษา (เช่น JavaScript, Python, ฯลฯ) แต่เวอร์ชันของ Swift นั้นมีความปลอดภัยด้านประเภทข้อมูล หมายความว่า compiler จะตรวจสอบประเภทข้อมูลให้คุณ ลดความผิดพลาดได้
ก่อน Swift 5, string interpolation นั้นอาจดูไม่ทรงพลังและยุ่งยาก แต่ Swift 5 ได้แนะนำ Extended String Interpolation ซึ่งทำให้คุณสามารถตกแต่งการแทรกค่าสตริงได้ เพิ่มความยืดหยุ่นได้อย่างน่าประทับใจ
ทางเลือกอื่นๆ สำหรับการแทรกค่าสตริงใน Swift ได้แก่ การใช้ + สำหรับการต่อสตริง และ method String(format:) สไตล์เก่า อย่างไรก็ตาม วิธีเหล่านี้อาจไม่สะดวกเท่า และยากต่อการอ่านสำหรับสตริงรูปแบบ
รายละเอียดการนำไปใช้งาน? ด้วยระบบการแทรกค่าสตริงของ Swift คุณสามารถปรับแต่งวิธีการแสดงผลของพิมพ์ภายในสตริงได้โดยการขยายโปรโตคอล StringInterpolation นั่นหมายความว่าคุณสามารถกำหนดวิธีการแสดงผลของพิมพ์ที่กำหนดเองในระหว่างการแทรกค่า ซึ่งเป็นเรื่องที่สะดวกมาก
extension String.StringInterpolation {
mutating func appendInterpolation(_ value: Date) {
let formatter = DateFormatter()
formatter.dateStyle = .medium
appendLiteral(formatter.string(from: value))
}
}
let today = Date()
let dateString = "Today's date is \(today)."
print(dateString) // ผลลัพธ์จะเป็นวันที่ของวันนี้ในรูปแบบการจัดรูปแบบสไตล์กลางดูเพิ่มเติม
เพื่อรับรายละเอียดเพิ่มเติมเกี่ยวกับการแทรกค่าสตริง Swift’s documentation นั้นมีประโยชน์อย่างยิ่ง:
เพื่อขุดลึกลงไปยังการตกแต่งพิมพ์ที่กำหนดเอง: