關(guān)情紙尾---swift-基本數(shù)據(jù)類型

?基本數(shù)據(jù)類型

OC:基本數(shù)據(jù)類型
int intValue = 10;
浮點(diǎn)型 double doubleValue = 10.10;
float floatValue = 5.1;
長 long
短 short
有符號 signed
無符號 unsigned
各種類型的數(shù)據(jù)的取值范圍在不同位的編譯器下取值范圍不同
Swift:注意關(guān)鍵字大寫
整型
var intValue:Int = 10

浮點(diǎn)型
var intValue1:Double = 10.10  表示64位浮點(diǎn)數(shù)
var intValue2:Float = 9.9     表示32位浮點(diǎn)數(shù)

如果按照長度劃分,Swift中的長短比OC更加精確
var intValue3:Int8 = 6
var intValue4:Int16 = 7
var intValue5:Int32 = 8
var intValue6:Int64 = 9

有符號無符號, 默認(rèn)是有符號的(UInt8/UInt16/UInt32/UInt64)
var uintValue7:UInt = 10
注意:無符號的數(shù)比有符號的取值范圍更大, 因?yàn)榉栁灰灿脕泶嬷?
Swift是類型安全的語言, 如果取值錯(cuò)誤會(huì)直接報(bào)錯(cuò), 而OC不會(huì)
取值不對
OC:unsigned int intValue = -10; 不會(huì)報(bào)錯(cuò)
Swift: var intValue:UInt = -10 會(huì)報(bào)錯(cuò)

溢出:
OC:int intValue = INT_MAX + 1; 不會(huì)報(bào)錯(cuò)
Swift:var intValue:UInt = UInt.max + 1 會(huì)報(bào)錯(cuò)

數(shù)據(jù)類型的相互賦值(隱式類型轉(zhuǎn)換)
OC可以隱式類型轉(zhuǎn)換
int intValue = 10;
double doubleValue = intValue;

Swift:不具有隱式類型轉(zhuǎn)換
在Swift中“值永遠(yuǎn)不會(huì)被隱式轉(zhuǎn)換為其他類型”(OC中可以隱式類型轉(zhuǎn)換)
以下語句會(huì)報(bào)錯(cuò):
var intValue:Int = 10
var doubleValue:Double = intValue

?數(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)
注意:Double()并不會(huì)修改intValue的值
    而是通過intValue的值生成一個(gè)臨時(shí)的值賦值給doubleValue
print(intValue)
print(doubleValue)
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

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