【发布时间】:2015-09-08 02:26:06
【问题描述】:
阅读documentation和this answer,我发现我可以通过以下任一方式初始化一个Unicode字符:
let narrowNonBreakingSpace: Character = "\u{202f}"
let narrowNonBreakingSpace = "\u{202f}"
据我了解,第二个实际上是一个字符串。与 Java 不同的是,它们都使用双引号(而不是字符的单引号)。不过,我见过几个例子,其中使用了第二种形式(没有Character),即使变量只包含一个字符。那是人们只是懒惰还是忘记写Character?还是 Swift 会处理所有细节,而我不需要费心?如果我知道我有一个只包含一个 Unicode 值的常量,我是否应该始终使用 Character?
【问题讨论】:
-
我不明白这个问题。字符串和字符是不同的类型。如果您需要一个字符串,则创建一个字符串(包含 0、1 或更多字符)。如果你需要一个角色然后创建一个角色。
-
所以任何时候我需要一个字符我都应该用
Character明确指定它,而不是让编译器来推断,对吗?这两种形式有性能差异吗?
标签: ios string swift unicode character