我有以下代码:
let hello = "Hola"
let indexI = hello.startIndex
let indexF = hello.endIndex
hello[indexI] // "H"
hello[hello.startIndex] // H
hello[hello.index(after: indexI)] // o
hello[indexF] // Fatal error: Can't form a Character from an empty String
但我在hello[indexF]
为什么会出错?
答案 0 :(得分:5)
如果要访问需要替换的最后一个元素:
let indexF = hello.endIndex
使用:
let indexF = hello.index(before: hello.endIndex)
endIndex
的{{3}}说:
字符串的“过去结束”位置 - 也就是说,位置更大 比最后一个有效的下标参数。