String과 Character은 같음을 비교할 때, "같다" 라는 뜻의 == 와 "같지 않다" 라는 뜻의 != 를 사용한다.
let quotation = "We're a lot alike, you and I."
let sameQuotation = "We're a lot alike, you and I."
if quotation == sameQuotation {
print("These two strings are considered equal")
}
// "These two strings are considered equal" 출력
두개의 문자열 또는 문자들은 다른 유니코드로 이루어져 있다고 해도 그것들을 이루고 있는 가장 작은 요소들이 같다면 같다고 여겨진다.
예를 들어 LATIN SMALL LETTER E WITH ACUTE (U+00E9)은 LATIN SMALL LETTER E (U+0065)와 COMBINING ACUTE ACCENT (U+0301)의 조합과 같이 문자 é를 나타내기 때문에 그 둘은 같다고 여겨진다.
// "Voulez-vous un café?" using LATIN SMALL LETTER E WITH ACUTE
let eAcuteQuestion = "Voulez-vous un caf\u{E9}?"
// "Voulez-vous un café?" using LATIN SMALL LETTER E and COMBINING ACUTE ACCENT
let combinedEAcuteQuestion = "Voulez-vous un caf\u{65}\u{301}?"
if eAcuteQuestion == combinedEAcuteQuestion {
print("These two strings are considered equal")
}
// Prints "These two strings are considered equal"
마찬가지로 영어에서 하용하는 LATIN CAPITAL LETTER A (U+0041, or "A")와 러시아어에서 사용하는 CYRILLIC CAPITAL LETTER A (U+0410, or "А")는 생긴건 비슷하지만, 다른 요소로 취급된다.
let latinCapitalLetterA: Character = "\u{41}"
let cyrillicCapitalLetterA: Character = "\u{0410}"
if latinCapitalLetterA != cyrillicCapitalLetterA {
print("These two characters aren't equivalent.")
}
// "These two characters aren't equivalent." 출력