Swift中的String endIndex错误

Mar*_*rga -2 swift swift4

我有以下代码:

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
Run Code Online (Sandbox Code Playgroud)

但是我hello[indexF]为什么会出错 ?

Mo *_*eed 5

如果要访问最后一个元素,则需要替换:

let indexF = hello.endIndex
Run Code Online (Sandbox Code Playgroud)

带有:

let indexF = hello.index(before: hello.endIndex)
Run Code Online (Sandbox Code Playgroud)

文件endIndex说:

字符串的“过去”位置,即比最后一个有效的下标参数大一个的位置。