Свифт String.Index
определяется в документах как
Позиция символа или единицы кода в строке.
endIndex
равно
Позиция строки «после конца», то есть позиция на единицу больше, чем последний действительный нижний аргумент.
и startIndex
равны
Позиция первого символа в непустой строке.
Правильно ли рассматривать символы Swift в контексте символов C lang?
Я понимаю в Clang, что индекс символа в строке возвращает пространство памяти символа, а строка заканчивается нулевым символом.
Так что для Swift endIndex
является нулевым символом ипричина, по которой мы используем String.Index
вместо использования строкового индекса с Int (что-то вроде string[0]
, как, скажем, в JavaScript), заключается в том, что мы обрабатываем пространство памяти символа.
Если это правильное мышление, это потому, что Swift работает на вершине времени выполнения Objective C?