- 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