阅读documentation和 this answer ,我看到我可以通过以下任一方式初始化 Unicode 字符:
let narrowNonBreakingSpace: Character = "\u{202f}"
let narrowNonBreakingSpace = "\u{202f}"
据我了解,第二个实际上是一个字符串。与 Java 不同的是,它们都使用双引号(而不是字符的单引号)。不过,我见过几个示例,其中使用第二种形式(没有 Character
),即使变量只包含一个字符。是人们懒惰还是忘了写 Character
?还是 Swift 会处理所有细节而我不需要为它操心?如果我知道我有一个只包含一个 Unicode 值的常量,我是否应该始终使用 Character
?
最佳答案
当没有指定类型时,Swift 将在创建变量或常量时从字符串字面量创建一个 String
实例,无论长度如何。由于 String
在 Swift 和 Cocoa/Foundation 方法中非常普遍,你应该只使用它,除非你对 Character
有特定的需求——否则你只需要每次需要使用时转换为 String
。
关于ios - Swift 中的字符和字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30983286/