美文网首页
Swift中数据类型

Swift中数据类型

作者: 爱做梦的星星 | 来源:发表于2017-08-19 16:18 被阅读0次

    Swift中数据类型

    标签(空格分隔): Swift


    Swift类型的介绍

    • Swift中的数据类型也有:整型/浮点型/对象类型/结构体类型等等

    整数

    • 整数就是没有小数部分的数字,比如 42 和 -23.整数可以是 有符号(正、负、零)或者 无符号(正、零)

    • 整数范围: min 和 max 属性来获取对应类型的最小值和最大值

    let minIntValue = Int.min //-9223372036854775808
    let maxIntValue = Int.max//9223372036854775807
    
    let minInt32Value = Int32.min //-2147483648
    let maxInt32Value = Int32.max //2147483647
    .
    .
    .
    

    Int

    一般来说,你不需要专门指定整数的长度。Swift 提供了一个特殊的整数类型Int,长度与当前平台的原生字长相同.

    • 在32位平台上,Int 和 Int32 长度相同
    • 在64位平台上,Int 和 Int64 长度相同
    除非你需要特定长度的整数,一般来说使用 Int 就够了。

    UInt

    Swift 也提供了一个特殊的无符号类型 UInt,长度与当前平台的原生字长相同.

    • 在32位平台上,UInt 和 UInt32 长度相同
    • 在64位平台上,UInt 和 UInt64 长度相同

    尽量不要使用UInt,除非你真的需要存储一个和当前平台原生字长相同的无符号整数。除了这种情况,最好使用Int,即使你要存储的值已知是非负的。统一使用Int可以提高代码的可复用性,避免不同类型数字之间的转换,并且匹配数字的类型推断.


    浮点型

    浮点类型比整数类型表示的范围更大,可以存储比 Int 类型更大或者更小的数字。Swift 提供了两种有符号浮点数类型

    • Double表示64位浮点数。当你需要存储很大或者很高精度的浮点数时请使用此类型。
    • Float表示32位浮点数。精度要求不高的话可以使用此类型。

    注:Double精确度很高,至少有15位数字,而Float只有6位数字。选择哪个类型取决于你的代码需要处理的值的范围,在两种类型都匹配的情况下,将优先选择 Double。


    使用

    // 定义一个Int类型的变量m,并且赋值为10
    var m : Int = 10
    // 定义一个Double类型的常量n,并且赋值为3.14
    let n : Double = 3.14
    

    Swift中的类型推导

    • Swift是强类型的语言
    • Swift中任何一个标识符都有明确的类型
    • 注意:
      • 如果定义一个标识符时有直接进行赋值,那么标识符后面的类型可以省略.
      • 因为Swift有类型推导,会自动根据后面的赋值来决定前面的标识符的数据类型
      • 可以通过option+鼠标左键来查看变量的数据类型
    // 定义变量时没有指定明确的类型,但是因为赋值给i一个20.20为整型.因此i为整型
    var i = 20
    // 错误写法:如果之后赋值给i一个浮点型数值,则会报错
    // i = 30.5
    
    // 正确写法
    var j = 3.33
    j = 6.66
    
    

    Swift中基本运算

    • Swift中在进行基本运算时必须保证类型一致,否则会出错
      • 相同类型之间才可以进行运算
      • 因为Swift中没有隐式转换
    • 数据类型的转化
      • Int类型转成Double类型:Double(标识符)
      • Double类型转成Int类型:Int(标识符)
    let a = 10
    let b = 3.14
    
    // 错误写法
    // let c = a + b
    // let c = a * b
    
    // 正确写法
    let c = Double(a) + b
    let d = a + Int(b)
    

    相关文章

      网友评论

          本文标题: Swift中数据类型

          本文链接:https://www.haomeiwen.com/subject/gmbtdxtx.html