swift是一个类型安全(type safe)的语言。此话怎讲?
所谓的类型安全,就是说,代码清楚的知道需要处理的数据类型,如果需要的是string类型,绝不会传入一个Int类型。
类型推测则满足了这一需求。如:
let a = 666
那么,编译器编译的时候会推断这是Int类型。
如果:
let c : NSString = 123
那么编译器会报错,因为它会认为123是Int类型,而非NSString类型。
let age = 23//Int
let pi = 3.14159//Double
let anPi = 3 + 0.14159//Double
swift在推测浮点类型时,总是会推测成Double,而不是Float。因为Double的精度比Float,推测成Double总没错。
第三句,原始数据3没有指定类型,所以从0.14159推测为Double。
因此,使用类型推测,可以使得编译器根据具体的数据进行推测从而得到类型,而不会自己手写,也不会造成类型写错的情况。