Swift的數(shù)據(jù)類型介紹:
整型,浮點(diǎn)型,對(duì)象類型,結(jié)構(gòu)體類型,枚舉類型,共用體類型等等
下面主要介紹整型和浮點(diǎn)型。
整型:
- 有符號(hào)整型
Int:有符號(hào)4位整型(和平臺(tái)有關(guān),一般為4位,相當(dāng)于OC的NSInteger)(默認(rèn))
Int8:有符號(hào)8位整型
Int16:有符號(hào)8位整型
Int32:有符號(hào)8位整型
Int64:有符號(hào)8位整型
- 無(wú)符號(hào)整型
UInt:無(wú)符號(hào)4位整型(和平臺(tái)有關(guān),一般為4位,相當(dāng)于OC的NSUInteger)
UInt8:無(wú)符號(hào)8位整型
UInt16:無(wú)符號(hào)8位整型
UInt32:無(wú)符號(hào)8位整型
UInt64:無(wú)符號(hào)8位整型
浮點(diǎn)型
Float:32位浮點(diǎn)型
Double:64位浮點(diǎn)型(默認(rèn))
類型推導(dǎo)
- Swift是強(qiáng)類型的語(yǔ)言。
- Swift中任何一個(gè)標(biāo)識(shí)符都要有明確的類型。
注意:在定義一個(gè)標(biāo)識(shí)符時(shí),有明確的賦值,則可以省略類型。
因?yàn)镾wift的類型推導(dǎo),可以根據(jù)賦值來(lái)推導(dǎo)出標(biāo)識(shí)符的類型。
let a : Int = 10 //無(wú)類型推導(dǎo)
//因?yàn)?0是Int(默認(rèn)),所以a是Int類型
let a = 10 // 類型推導(dǎo)
注意
//? 因?yàn)閙的類型沒(méi)有明確
var m
m = 10
//? 因?yàn)閙的類型明確
var m : Int
m = 10
//?特殊:默認(rèn)關(guān)聯(lián)在一起
let m : Int
m = 10
//?
let m : Int;
m = 10;
基本運(yùn)算
- Swift中在進(jìn)行基本運(yùn)算時(shí),類型必須一致(因?yàn)镾wift中沒(méi)有像OC那樣的隱式轉(zhuǎn)換)
//OC
//?
int a = 10;
float b = 20.1
int result = a + b
//Swift
//?
let a = 10
let b = 1.01
let result = a + b
//?
let a = 10
let b = 1.01
let m = Int(b) //強(qiáng)制轉(zhuǎn)換
let result = a + m
- 強(qiáng)制轉(zhuǎn)換
格式: 類型(標(biāo)識(shí)符)
let a = 2.55
let b = Int(a)
注意
強(qiáng)制轉(zhuǎn)換不是四舍五入,而是直接取位,如Int(10.999) 的值為10。
- 一些疑惑
//?
let a = 2.55
let b = Int(a)
//?
let view = UIView()
let btn = UIButton(view)
//?
let ban = view as UIButton
//猜想:Int()這種用于基礎(chǔ)類型,整型,浮點(diǎn)型
as UIView 用于對(duì)象類型,結(jié)構(gòu)體類型等
如果大家有什么疑惑,或者文章有什么錯(cuò)誤的地方,請(qǐng)大家留言。