类型安全和类型推断

2018-06-12  本文已影响0人  小金_1180

    Swfit是一门类型安全的语言,类型安全的语言鼓励你清楚的了解编程过程中变量的类型,如果你的代码需要的是一个String类型的值,你无法传入一个Int类型的值,因为那是错误的。

    因为Swift是类型安全的,它提供了类型检查,在编译过程中将会如有类型不匹配的情况将会标记为错误。这将会是你带开发过程中尽量早的发现和解决你发现的错误。

    类型检查帮助你使用不同的类型的值的时候避免出现错误。当然,这也并不是意味着你需要给你生命的每一个变量或者常量指定类型。如果你没有制定值的类型,类型推断会帮助你推断出合适的类型。类型推断使编译器在编译代码时可以通过检查你提供的值去自动的推断特定表达式的类型。

    因为类型推断的存在,比起c和oc,Swift需要更少的类型声明。常量和变量依然是需要显示的声明类型的,但是类型推断依旧可以为你做大多数的指定类型的工作。

    当你声明常量或者变量且提供了初始化的值的时候,类型推断就非常有用了。这种情况通常是在声明常量或者变量的同时使用字面量进行了初始化。

    比如,你使用字面量42初始化了一个新的常量但是没有指定类型,Swift会推断你希望这个常量是Int类型,因为你使用了一个看起来像整型的数字初始化了常量:

    let meaningOfLife = 42  // meaningOfLife 被推断为类型 Int

    同样的,如果你不指定一个浮点数的字面量的类型,Swift会推断你希望创建一个Double类型

    let pi = 3.14159  // pi 被推断为类型 Double

   在推断一个浮点数字面量的时候,Swift总是选择Double而不是Float。

    如果你在一个表达式里面组合了整型和浮点数的字面量,Swift会根据上下文推断出Double类型:

     let anotherPi = 3 + 0.14159  // anotherPi 被推断为类型 Double”

    上面的例子中的字面量3自己并没有明确的类型,所以根据加法运算符的另外一部分,也就是浮点数字面量0.14159,推断出了适合当前上下文的类型Double。

    

上一篇下一篇

猜你喜欢

热点阅读