Swift:
การต่อสตริง
วิธีการ:
let firstName = "Taylor"
let lastName = "Swift"
let fullName = firstName + " " + lastName // ใช้โอเปอเรเตอร์ +
print(fullName) // ผลลัพธ์: "Taylor Swift"
let age = 31
let greeting = "Hello, \(firstName)! You're \(age) years old." // ใช้ string interpolation
print(greeting) // ผลลัพธ์: "Hello, Taylor! You're 31 years old."
var message = "This"
message += " is" // ใช้โอเปอเรเตอร์ += เพื่อ append ไปยังสตริง
message += " Sparta!"
print(message) // ผลลัพธ์: "This is Sparta!"
ลึกลงไป
ในอดีต คนในภาษาโปรแกรมมิ่งเช่น C ต้องดำเนินการย้ายสตริงด้วยตนเองด้วยการใช้ฟังก์ชัน รับมือกับอาร์เรย์และสตริงที่จบด้วย null Swift ทำให้มันง่ายขึ้น โอเปอเรเตอร์ ‘+’ สำหรับสตริงนั้นมาจากภาษาเช่น Java และ C++ นำเสนอวิธีที่คุ้นเคยในการต่อสตริงเข้าด้วยกัน
มีตัวเลือกที่เกินกว่า ‘+’. String interpolation ใน Swift ไม่เพียงแต่เกี่ยวกับการเป็นแฟนซีประการแรก – มันเป็นวิธีที่ปลอดภัยตามประเภทในการฝังค่าโดยตรงภายในสตริงของคุณ ไม่มีความจำเป็นต้องแปลงประเภทหรือกังวลว่าคุณจะจับคู่สิ่งใดผิด
การต่อสตริงระดับสูงเกี่ยวข้องกับมากกว่าเพียงการโยนคำไปมา เมื่อประสิทธิภาพเป็นสิ่งสำคัญ การใช้ ‘+=’ อย่างไม่ระมัดระวังอาจทำให้คุณช้าลง ทำไม? เพราะถ้าคุณกำลังเพิ่มข้อความลงในสตริงในลูป Swift อาจสร้างสตริงใหม่ทุกครั้ง ซึ่งไม่ได้เป็นไปอย่างต่อเนื่องนัก แทนที่นั้น ควรพิจารณาใช้ ‘join()’ หรือ ‘append()’ ของ ‘String’ เพื่อประสิทธิภาพ โดยเฉพาะอย่างยิ่งกับข้อมูลขนาดใหญ่หรือลูปที่ซับซ้อน
// การต่อสตริงอย่างมีประสิทธิภาพด้วย `join()`
let words = ["Once", "upon", "a", "time"]
let story = words.joined(separator: " ") // มีประสิทธิภาพสำหรับการรวมองค์ประกอบของอาร์เรย์
print(story) // ผลลัพธ์: "Once upon a time"
// ใช้ 'append(contentsOf:)' สำหรับการ append ของ substrings
var quote = "I think, "
quote.append(contentsOf: "therefore I am")
print(quote) // ผลลัพธ์: "I think, therefore I am"
ดูเพิ่มเติม
- Swift Documentation on Strings: Swift.org Documentation
- Apple’s String Programming Guide: Apple Developer Documentation