Trang chủ

Tập hợp và văn bản

Sequence, cách lưu trữ, và vì sao chuỗi không phải mảng

Gần như chương trình nào cũng dành phần lớn thời gian duyệt qua một dãy phần tử và làm gì đó với từng cái. Swift trao việc ấy cho cả một hệ thống phân cấp protocol chứ không phải một kiểu Collection duy nhất, và chỗ bạn gắn code của mình vào hệ thống ấy quyết định nó được phép hứa những gì và tốn bao nhiêu.

Văn bản là chỗ khác biệt đó cắn đau nhất. Một chuỗi trông như tập hợp các ký tự và hành xử đúng như vậy, nhưng ký tự nó trả về là một grapheme cluster không có độ dài cố định — nên những thao tác rẻ tiền quen thuộc từ mảng đơn giản là không có ở đó. Thứ thay thế chúng, và cách chọn khung nhìn khiến việc của bạn thành rẻ, là nội dung chương thứ hai.