Swift类型:在表达式

时间:2016-09-28 02:54:19

标签: ios swift

我是学习swift和iOS的新手,并在他们的文档中阅读:

  

如果在表达式中组合整数和浮点文字,将从上下文中推断出Double类型:

let anotherPi = 3 + 0.14159
// anotherPi is also inferred to be of type Double
  

3的字面值本身没有明确的类型,所以   从存在的情况推断出适当的输出类型Double   作为补充的一部分的浮点文字。

据我所知,如果你尝试添加一个显式整数类型和一个显式的double类型,swift会给你一个错误,因为你不能在swift中添加一个int和一个double。文档中的上述引用是否意味着整数文字3被swift推断为double类型,然后添加到浮动文字0.14159,也推断为double类型?或者它只是意味着如果你添加一个int文字和一个浮点文字输出被推断为一个双?

1 个答案:

答案 0 :(得分:1)

默认情况下,浮点文字被推断为Double。你可以在游乐场测试一下:

// Swift 3

let a = 0.14159

print(type(of: a)) // Double

let b = 1 + a // works

let c = Int(1) + a // doesn't work

示例B有效,因为整数文字1可以推断为Double(因为它被添加到Double)。示例C不起作用,因为1是显式Int。这保留了Swift的数字类型安全性,同时仍然可以轻松执行简单的数学运算。