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. count
обрабатывает их с грацией.
Альтернативы? Конечно, вы могли бы перебирать строку в цикле, но это переизобретение колеса и менее эффективно.
Под капотом, count
имеет сложность O(n), где ‘n’ — количество символов. Это потому, что String
в Swift - это не коллекция Char
, а последовательность кластеров графем, длина которых может варьироваться.
Смотрите также
- Документация Swift по строкам: Документация Swift по строкам
- Основы Unicode: Консорциум Unicode
- Погружение в производительность строк Swift: Производительность строк Swift