Swift基礎(chǔ)語法-基本數(shù)據(jù)類型--對比OC


  • OC中的基本數(shù)據(jù)類型
int intValue = 10; //整型  
double doubleValue = 10.10; //雙精度浮點型 
float floatValue = 5.1;//單精度浮點型

long// 長 
short// 短
signed //有符號 
unsigned //無符號 
//各種類型的數(shù)據(jù)的取值范圍在不同位的編譯器下取值范圍不同
  • Swift中的基本數(shù)據(jù)類型
    • 注意:關(guān)鍵字大寫
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 這些是無符號類型, 只能取 >= 0 的正整數(shù)
    • **注意: **無符號的數(shù)比有符號的取值范圍更大, 因為符號位也用來存值

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:會報錯
  • 數(shù)據(jù)類型的相互賦值(隱式類型轉(zhuǎn)換)
    • OC可以隱式類型轉(zhuǎn)換
    • Swift:不具有隱式類型轉(zhuǎn)換
int intValue = 10; // oc 語句
double doubleValue = intValue; // 做隱式類型轉(zhuǎn)化
var intValue:Int = 10 // swift 語句
var doubleValue:Double = intValue // 會報錯
  • 數(shù)據(jù)類型轉(zhuǎn)換
    • Swift不允許隱式類型轉(zhuǎn)換, 但可以使用顯示類型轉(zhuǎn)換(強制類型轉(zhuǎn)換)
// 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

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容