OC:
整型
int intValue = 10;
浮點型
double doubleValue = 10.10;
float floatValue = 5.1;
長 long
短 short
有符號 signed
無符號 unsigned
各種類型的數(shù)據(jù)的取值范圍在不同位的編譯器下取值范圍不同
Swift:注意關鍵字大寫
整型
var intValue:Int = 10
浮點型
var intValue1:Double = 10.10 // 表示64位浮點數(shù)
var intValue2:Float = 9.9 // 表示32位浮點數(shù)
如果按照長度劃分,Swift中的長短比OC更加精確
var intValue3:Int8 = 6
var intValue4:Int16 = 7
var intValue5:Int32 = 8
var intValue6:Int64 = 9
有符號無符號, 默認是由符號的(UInt8/UInt16/UInt32/UInt64)
var uintValue7:UInt = 10
注意: 無符號的數(shù)比有符號的取值范圍更大, 因為符號位也用來存值
Swift是類型安全的語言, 如果取值錯誤會直接報錯, 而OC不會
取值不對
OC:unsigned int intValue = -10; 不會報錯
Swift:var intValue:UInt = -10 會報錯
溢出:
OC:int intValue = INT_MAX + 1; 不會報錯
Swift:var intValue:UInt = UInt.max + 1 會報錯
數(shù)據(jù)類型的相互賦值(隱式類型轉換)
OC可以
int intValue = 10;
double doubleValue = intValue;
Swift:不可以
var intValue:Int = 10
var doubleValue:Double = intValue
在Swift中“值永遠不會被隱式轉換為其他類型”(OC中可以隱式類型轉換), 以上語句會報錯