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


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

long// 長(zhǎng) 
short// 短
signed //有符號(hào) 
unsigned //無(wú)符號(hào) 
//各種類型的數(shù)據(jù)的取值范圍在不同位的編譯器下取值范圍不同
  • Swift中的基本數(shù)據(jù)類型
    • 注意:關(guān)鍵字大寫
var intValue:Int = 10 //整型
var intValue1:Double = 10.10 //表示64位浮點(diǎn)數(shù)
var intValue2:Float = 9.9  //表示32位浮點(diǎn)數(shù)
  • 如果按照長(zhǎng)度劃分, Swift中的長(zhǎng)短比OC更加精確
var intValue3:Int8 = 6
var intValue4:Int16 = 7
var intValue5:Int32 = 8
var intValue6:Int64 = 9
  • 有符號(hào)無(wú)符號(hào)
    • 默認(rèn)是有符號(hào)的
    • UInt8/UInt16/UInt32/UInt64 這些是無(wú)符號(hào)類型, 只能取 >= 0 的正整數(shù)
    • **注意: **無(wú)符號(hào)的數(shù)比有符號(hào)的取值范圍更大, 因?yàn)榉?hào)位也用來(lái)存值

var uintValue7:UInt = 10
  • Swift是類型安全的語(yǔ)言, 如果取值錯(cuò)誤會(huì)直接報(bào)錯(cuò), 而OC不會(huì)
unsigned int intValue = -10; //oc不會(huì)報(bào)錯(cuò)
var intValue:UInt = -10 // swift會(huì)報(bào)錯(cuò)
//溢出:
int intValue = INT_MAX + 1; //OC:不會(huì)報(bào)錯(cuò)
var intValue:UInt = UInt.max + 1 //Swift:會(huì)報(bào)錯(cuò)
  • 數(shù)據(jù)類型的相互賦值(隱式類型轉(zhuǎn)換)
    • OC可以隱式類型轉(zhuǎn)換
    • Swift:不具有隱式類型轉(zhuǎn)換
int intValue = 10; // oc 語(yǔ)句
double doubleValue = intValue; // 做隱式類型轉(zhuǎn)化
var intValue:Int = 10 // swift 語(yǔ)句
var doubleValue:Double = intValue // 會(huì)報(bào)錯(cuò)
  • 數(shù)據(jù)類型轉(zhuǎn)換
    • Swift不允許隱式類型轉(zhuǎn)換, 但可以使用顯示類型轉(zhuǎn)換(強(qiáng)制類型轉(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()并不會(huì)修改intValue的值
    而是通過(guò)intValue的值生成一個(gè)臨時(shí)的值賦值給doubleValue

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容