Swift基础语法-基本数据类型--对比OC

作者: DwightChan | 来源:发表于2016-07-30 17:39 被阅读84次

    • OC中的基本数据类型
    int intValue = 10; //整型  
    double doubleValue = 10.10; //双精度浮点型 
    float floatValue = 5.1;//单精度浮点型
    
    long// 长 
    short// 短
    signed //有符号 
    unsigned //无符号 
    //各种类型的数据的取值范围在不同位的编译器下取值范围不同
    
    • Swift中的基本数据类型
      • 注意:关键字大写
    var intValue:Int = 10 //整型
    var intValue1:Double = 10.10 //表示64位浮点数
    var intValue2:Float = 9.9  //表示32位浮点数
    
    • 如果按照长度划分, Swift中的长短比OC更加精确
    var intValue3:Int8 = 6
    var intValue4:Int16 = 7
    var intValue5:Int32 = 8
    var intValue6:Int64 = 9
    
    • 有符号无符号
      • 默认是有符号的
      • UInt8/UInt16/UInt32/UInt64 这些是无符号类型, 只能取 >= 0 的正整数
      • **注意: **无符号的数比有符号的取值范围更大, 因为符号位也用来存值
    
    var uintValue7:UInt = 10
    
    • Swift是类型安全的语言, 如果取值错误会直接报错, 而OC不会
    unsigned int intValue = -10; //oc不会报错
    var intValue:UInt = -10 // swift会报错
    
    //溢出:
    int intValue = INT_MAX + 1; //OC:不会报错
    var intValue:UInt = UInt.max + 1 //Swift:会报错
    
    • 数据类型的相互赋值(隐式类型转换)
      • OC可以隐式类型转换
      • Swift:不具有隐式类型转换
    int intValue = 10; // oc 语句
    double doubleValue = intValue; // 做隐式类型转化
    
    var intValue:Int = 10 // swift 语句
    var doubleValue:Double = intValue // 会报错
    
    • 数据类型转换
      • Swift不允许隐式类型转换, 但可以使用显示类型转换(强制类型转换)
    // OC写法
    int intValue = 10;
    double doubleValue = (double)intValue;
    
    // Swift写法:
    var intValue:Int = 10var doubleValue:Double
    doubleValue = Double(intValue)
    print(intValue)
    print(doubleValue)
    
    • 注意: Double()并不会修改intValue的值
      而是通过intValue的值生成一个临时的值赋值给doubleValue

    相关文章

      网友评论

        本文标题:Swift基础语法-基本数据类型--对比OC

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