类型推断是Swift的强大属性。这意味着编译器可以从程序员提供的值推断文字的类型,不需要显式类型规范。
例如var IntNum = 3
;编译器可以推断变量IntNum
的类型为Int。在Xcode中,如果用户点击密钥并点击变量名称,此处为IntNum
,则Xcode会告诉您它的类型。
但是,如果我在字面值3
上执行此操作,则Xcode不提供任何内容。我想,我放在屏幕上的字面值根本就没有类型,只有对象变量和常量具有type属性。
我猜是这样,有人可以向我解释一下吗?
干杯 SL
答案 0 :(得分:4)
没错。
类型安全和类型推断
当您声明常量或类型时,类型推断特别有用 具有初始值的变量。这通常通过分配a来完成 字符值(或字面值)到该点的常量或变量 你宣布它。 (字面值是直接显示的值 在您的源代码中)
...
如果在表达式中组合整数和浮点文字,a Double的类型将从上下文中推断出来:
let anotherPi = 3 + 0.14159 // anotherPi is also inferred to be of type Double
3的字面值本身没有明确的类型,等等 从存在的情况推断出适当的输出类型Double 作为补充的一部分的浮点文字。