Swift 字符串比运算符如何工作

How does the Swift string more than operator work

我正在阅读有关 Swift 编程语言的文档,当我遇到 the following code snippet:

let names = ["Chris", "Alex", "Ewa", "Barry", "Daniella"]

func backwards(s1: String, _ s2: String) -> Bool {
   return s1 > s2
}

names.sort(backwards) // ["Ewa", "Daniella", "Chris", "Barry", "Alex"]

我似乎找不到的是 > 运算符在这种情况下的工作方式,我认为它会做一些事情,比如计算字符数量,然后 return基于此的布尔值,但根据该逻辑,以下代码段应该 return false:

"CD" > "ABC" // true

有人可以解释一下这是怎么回事吗?

Swift 进行字典字符串比较。在您查看之前已被询问过 here

我相信 javascript 使用完全相同的字符串比较方法和相同的语法。在 javascript 中,您也可以使用 localeCompare()。在 swift 中,您也可以使用 localizedCompare(_:) (或其他字符串比较函数之一)。它们都是按字母顺序比较字符串的不同方式和不同选项。