Swift学习 -- 数据类型

作者: 疯狂的小托马斯 | 来源:发表于2016-10-11 14:22 被阅读16次

    Swift的数据类型介绍:

    整型,浮点型,对象类型,结构体类型,枚举类型,共用体类型等等

    下面主要介绍整型和浮点型。

    整型:

    1. 有符号整型
    Int:有符号4位整型(和平台有关,一般为4位,相当于OC的NSInteger)(默认)
    Int8:有符号8位整型
    Int16:有符号8位整型
    Int32:有符号8位整型
    Int64:有符号8位整型
    
    1. 无符号整型
      UInt:无符号4位整型(和平台有关,一般为4位,相当于OC的NSUInteger)
      UInt8:无符号8位整型
      UInt16:无符号8位整型
      UInt32:无符号8位整型
      UInt64:无符号8位整型
    

    浮点型

    Float:32位浮点型
    Double:64位浮点型(默认)
    

    类型推导

    • Swift是强类型的语言。
    • Swift中任何一个标识符都要有明确的类型。

    注意:在定义一个标识符时,有明确的赋值,则可以省略类型。
    因为Swift的类型推导,可以根据赋值来推导出标识符的类型。

    let a : Int = 10 //无类型推导
    //因为10是Int(默认),所以a是Int类型
    let a = 10 // 类型推导
    

    注意

    //❌ 因为m的类型没有明确
    var m 
    m = 10 
    //✅ 因为m的类型明确
    var m : Int
    m = 10
    
    //✅特殊:默认关联在一起
    let m : Int
    m = 10
    //✅
    let m : Int;
    m = 10;
    

    基本运算

    • Swift中在进行基本运算时,类型必须一致(因为Swift中没有像OC那样的隐式转换)
    //OC 
    //✅
    int a = 10;
    float b = 20.1
    int result =  a + b
    
    //Swift
    //❌
    let a = 10
    let b = 1.01
    let result = a + b
    //✅
    let a = 10
    let b = 1.01
    let m = Int(b) //强制转换
    let result = a + m
    
    • 强制转换
      格式: 类型(标识符)
    let a = 2.55
    let b = Int(a)
    

    注意
    强制转换不是四舍五入,而是直接取位,如Int(10.999) 的值为10。

    • 一些疑惑
    //✅
    let a = 2.55
    let b = Int(a)
    //❎
    let view = UIView()
    let btn = UIButton(view)
    //✅
    let ban = view as UIButton
    //猜想:Int()这种用于基础类型,整型,浮点型
                  as UIView 用于对象类型,结构体类型等
    

    如果大家有什么疑惑,或者文章有什么错误的地方,请大家留言。

    相关文章

      网友评论

        本文标题:Swift学习 -- 数据类型

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