zoukankan      html  css  js  c++  java
  • Welcome to Swift (苹果官方Swift文档初译与注解九)---58~62页(第二章)

    Integer Bounds (整型范围)

      你可以使用min和max属性来访问每个整型的最小值和最大值:

        let minValue = UInt8.min  // minValue是0, 类型是 UInt8

        let maxValue = UInt8.max  // maxValue 是 255, 类型是 UInt8

      min和max属性的具体值是与数值类型相关的(比如上面代码中的UInt8).

    Int (Int整型)

      在多数情况下,你在代码里不需要处理整型的字节大小.Swift提供了另一种整型类型,int.它总是与当前平台位数保持一致:

        在32位平台, Int 与 Int32相同.

        在64位平台, Int 与 Int64相同.

      除非在实际工作中要专门指定整型的长度,如果不是,通常推荐在代码中使用int来定义整型值,这有利于代码的统一性和复用性.即使在32位平台下,int类型也可以存          取-2,147,483,648 到 2,147,483,647之间的数值,对许多整数类型来说是够用的范围了.

     UInt (UInt整型)

      Swift也提供了无符号整型,UInt它同样是与平台位数保持相同长度:

        在32位平台, Int 与 Int32相同.

        在64位平台, Int 与 Int64相同.

      注意点

      除非你特别需要指定一个无符号整型,如果不是这样,官方推荐使用Int,即使被存取的数值是非负数.使用Int 整型的一个好处是代码的复用性.避免在不同数字类型进行转换,避免匹配整  型的类型.

    Floating-Point Numbers (浮点数)

      浮点数是包含小数部分的数值,比如“3.14159, 0.1,和 -273.15.

      浮点数可以表示比整型更宽的数值范围,也可以存取比Int类型更大和更小的数值.Swift提供了两种有符号的浮点类型:

      Double 表示一个64位浮点数.在需要处理的数值非常大或者需要非常精确的时候使用. 

      Float 表示一个32位的浮点数.  

      注意点

      Double精确至少15位的十进制数字,而Float处理6位十进制数字.在代码里使用浮点类型要根据你实际工作中需要的数值范围来定.

    Type Safety and Type Inference (类型安全与类型判断)

      Swift是一门类型安全的语言.一种类型安全的语言能够确保你清晰的知道代码里值的类型.如果代码里你希望是一个String类型值,你就不可以错误的传Int类型给它.

      因为Swift是类型安全语言,所有它在编译代码的时候会进行类型检查,一旦发现类型匹配错误就会立刻报错.这帮助你在开发阶段尽早的找到并修正潜在的代码错误.

      代码检测帮助你避免处理不同类型值时犯错误.但这不意味着你必须对每个定义的常量或者变量都指定类型.如果你没有指定值的类型,Swift使用类型判断来确定对应的类型.类型判断  能够帮助编译器在编译代码的时候,根据检测值来自动的减少对应的表达式.

      正是由于类型检查,是Swift比C和OC更少的要求类型声明.常量和变量是需要明确类型声明.指定类型的工作,Swift已经都为你做好了.

      在初始化一个常量或者变量的时候,类型判断会特别有用.初始化是在定义常量或者变量的时候,就给它们指定一个确切的值(就像后面代码样例中的42和3.14159)

      如果你指定一个明确的值42给新的常量,但没有说明常量的类型,Swift会推断你希望常量类型是Int,因为你使用了一个整型的值来进行初始化.

        let meaningOfLife = 42

        // meaningOfLife 是Int类型

      同样的,如果你没有明确指定浮点数据类型,Swift会推断你想创建一个Double类型.

        let pi = 3.14159

        // pi 的类型是 Double

      Swift在推断浮点类型时总是默认选择Double(而不是Float).

    /****************未完待续************************/

     

  • 相关阅读:
    StackView
    横竖屏
    Html
    UILabel
    NSString
    NSPredicate|谓词
    iphone
    函数
    UIBezierPath
    UICollectionView
  • 原文地址:https://www.cnblogs.com/caios/p/3784851.html
Copyright © 2011-2022 走看看