gpt4 book ai didi

swift - swift 中带有字符的单引号

转载 作者:IT王子 更新时间:2023-10-29 05:41:21 33 4
gpt4 key购买 nike

我用过 C、C++、Java,这些语言告诉我字符用单引号括起来(主要是在遵守正确的语法时),但字符串用双引号括起来。是 swift 的语法只允许单引号内的字符,还是提供这种语法背后有一些正当的理由(逻辑)。

let char1: Character = "A" //correct 

let char2: Character = 'B' //incorrect

最佳答案

自第一个 C 编译器开发以来,编译器技术的状态发生了很大变化。编译器在无需程序员帮助的情况下自行解决问题变得更加聪明,包括预期的表达式类型。

弄清楚 char 与字符串文字就是这样一个例子。理论上,当今 C 的结构允许在许多上下文中推断文字的类型。例如,在下面的代码中,编译器有足够的信息将单字符字符串视为字 rune 字:

void foo(char c);
char s[] = "xyz";
// None of the below would compile
char a = "a";
foo("b");
if (s[1] == "c") {
...
}

然而,在当时,要求程序员告诉编译器 "a""b""c"更容易 实际上是 'a''b''c'。此外,由于函数原型(prototype)直到 ANSI C 才被引入,foo("b") 推理在该语言的原始 K&R 版本中甚至是不可能的。

当语言具有类型推断系统时,不再需要程序员的帮助,因此 Swift 设计者决定统一字符串和字符常量的语法。

关于swift - swift 中带有字符的单引号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31415242/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com