ค้นหาความยาวของสตริง

Swift:
ค้นหาความยาวของสตริง

วิธีการ:

ใน Swift, คุณสามารถหาความยาวของสตริงได้โดยการเข้าถึงคุณสมบัติ count ง่าย ๆ เลย, ลองทำดู:

let greeting = "Hello, World!"
print(greeting.count) // ผลลัพธ์: 13

จำไว้ว่า Swift ถือว่าอีโมจิเป็นตัวอักษรเดียว, ขอบคุณ Unicode:

let wave = "👋"
print(wave.count)  // ผลลัพธ์: 1

ลงลึก

กลับไปในยุคของ Objective-C, การหาความยาวของสตริงไม่ได้ตรงไปตรงมาเช่นนี้—มี length และ lengthOfBytes(using:). Swift ทำให้มันสะอาดกว่าด้วย count.

ระวังเกี่ยวกับอักขระประกอบ: คือตัวอักษรที่มองเห็นเป็นหนึ่งตัวแต่สร้างจากหลาย Unicode scalars. count จัดการกับสิ่งเหล่านี้ได้อย่างง่ายดาย

มีทางเลือกอื่นไหม? แน่นอน, คุณอาจจะเดินทางผ่านสตริงด้วยลูป, แต่นั่นเหมือนกับการประดิษฐ์ล้อใหม่และมีประสิทธิภาพน้อยกว่า

ภายใต้ฮู้ด, count มีความซับซ้อน O(n), ซึ่ง ‘n’ คือจำนวนตัวอักษร นั่นเป็นเพราะว่าสตริงของ Swift ไม่ใช่การรวบรวมของ Chars, แต่เป็นลำดับของกลุ่ม grapheme ซึ่งอาจมีความยาวแตกต่างกันไป

ดูเพิ่มเติม