[Swift5] endIndex 사용시 에러

고재경·2021년 12월 27일
0

String 사용시 Swift의 경우 String.Index를 사용하여 문자열의 문자에 접근하게 됩니다.
아래와 같이 접근을 하게되면 String.Index를 사용해 접근하라는 에러가 발생합니다.

let s = "abcdefg"
s[0] // 에러 발생

a를 출력하고 싶을 경우에는 아래와 같이 표현할 수 있습니다.

let s = "abcdefg"
s[s.firstIndex(of: "a")!]

하지만 Swift에서는 시작하는 index와 끝나는 index를 메서드로 제공해주고 있어 아래와 같이 간편하게 첫글자를 가져올 수 있습니다.

let s = "abcdefg"
s[s.startIndex]
let s = "abcdefg"
s[s.endIndex]

마찬가지로 마지막 index값을 가져올 수도 있는데 아래와 같이 g의 값을 가져오려고 하면 String Index is out of bounds라는 에러가 발생하게 됩니다.
endIndex를 사용해 정상적으로 마지막 문자를 가져오기 위해서는 아래와 같이 사용하여야 합니다.

let s = "abcdefg"
s[s.index(before: s.endIndex)]

0개의 댓글