天天看點

Swift-基本資料類型

  • OC中的基本資料類型
int intValue = ; //整型  
double doubleValue = ; //雙精度浮點型 
float floatValue = ;//單精度浮點型

long// 長 
short// 短
signed //有符号 
unsigned //無符号 
//各種類型的資料的取值範圍在不同位的編譯器下取值範圍不同
           
  • Swift中的基本資料類型
    • 注意:關鍵字大寫
var intValue:Int =  //整型
var intValue1:Double =  //表示64位浮點數
var intValue2:Float =   //表示32位浮點數
           
  • 如果按照長度劃分, Swift中的長短比OC更加精确
var intValue3:Int8 = 
var intValue4:Int16 = 
var intValue5:Int32 = 
var intValue6:Int64 = 
           
  • 有符号無符号
    • 預設是有符号的
    • UInt8/UInt16/UInt32/UInt64 這些是無符号類型, 隻能取 >= 0 的正整數
    • 注意: 無符号的數比有符号的取值範圍更大, 因為符号位也用來存值
var uintValue7:UInt = 10
           
  • Swift是類型安全的語言, 如果取值錯誤會直接報錯, 而OC不會
unsigned int intValue = -; //oc不會報錯
var intValue:UInt = - // swift會報錯
           
//溢出:
int intValue = INT_MAX + ; //OC:不會報錯
var intValue:UInt = UInt.max +  //Swift:會報錯
           
  • 資料類型的互相指派(隐式類型轉換)
    • OC可以隐式類型轉換
    • Swift:不具有隐式類型轉換
int intValue = ; // oc 語句
double doubleValue = intValue; // 做隐式類型轉化
           
var intValue:Int =  // swift 語句
var doubleValue:Double = intValue // 會報錯
           
  • 資料類型轉換
    • Swift不允許隐式類型轉換, 但可以使用顯示類型轉換(強制類型轉換)
// OC寫法
int intValue = ;
double doubleValue = (double)intValue;
           
// Swift寫法:
var intValue:Int = var doubleValue:Double
doubleValue = Double(intValue)
print(intValue)
print(doubleValue)
           
  • 注意: Double()并不會修改intValue的值

    而是通過intValue的值生成一個臨時的值指派給doubleValue