整數(shù)
1.分為有符號(hào)整數(shù)和無符號(hào)整數(shù)惧所;
2.有符號(hào): Int8 Int16 Int32 Int64 Int;
3.無符號(hào): UInt8 UInt16 UInt32 UInt64 UInt赶促。
整數(shù)類型區(qū)別
1.在內(nèi)存占用空間不同(sizeof(Type)獲取);
2.表達(dá)的數(shù)據(jù)范圍不同(可用min,max屬性獲日号)。
Tips
1.特殊整數(shù)類型Int尊沸,長度與當(dāng)前平臺(tái)原生字長一致威沫;
2.32位機(jī),sizeof(Int)等于sizeof(Int32)洼专;
3.64位機(jī)棒掠,sizeof(Int)等于sizeof(Int64);
4.UInt類似屁商;
5.習(xí)慣在一般情況下使用Int烟很,來提高代碼一致性和可復(fù)用性。
浮點(diǎn)數(shù)
1.Float 32位浮點(diǎn)數(shù);
2.Double 64位浮點(diǎn)數(shù)雾袱。
布爾值
Bool(true false)
其他
1.類型轉(zhuǎn)換恤筛;
2.類型別名;
3.類型安全芹橡。
swift是類型安全的語言毒坛,在編譯時(shí)進(jìn)行類型檢查。
代碼實(shí)例
//: Playground - noun: a place where people can play
import UIKit
//:聲明整數(shù)并觀察類型推倒結(jié)果
let intVal = 1
intVal.dynamicType
let int8Val : Int8 = 1
let int16Val : Int16 = 1
let int32Val : Int32 = 1
let int64Val : Int64 = 1
let intVal1 : Int = 1
print("Int8 \t size: \(sizeof(Int8)) \t min: \(Int8.min) \t\t\t\t\t max: \(Int8.max)")
print("Int16 \t size: \(sizeof(Int16)) \t min: \(Int16.min) \t\t\t\t max: \(Int16.max)")
print("Int32 \t size: \(sizeof(Int32)) \t min: \(Int32.min) \t\t\t max: \(Int32.max)")
print("Int64 \t size: \(sizeof(Int64)) \t min: \(Int64.min) max: \(Int64.max)")
print("Int \t size: \(sizeof(Int)) \t min: \(Int.min) \t max: \(Int.max)")
var uint8Val : UInt8 = 1
var uint16Val : UInt16 = 1
var uint32Val : UInt32 = 1
var uint64Val : UInt64 = 1
print("UInt8 \t size: \(sizeof(UInt8)) \t min: \(UInt8.min) \t max: \(UInt8.max)")
print("UInt16 \t size: \(sizeof(UInt16)) \t min: \(UInt16.min) \t max: \(UInt16.max)")
print("UInt32 \t size: \(sizeof(UInt32)) \t min: \(UInt32.min) \t max: \(UInt32.max)")
print("UInt64 \t size: \(sizeof(UInt64)) \t min: \(UInt64.min) \t max: \(UInt64.max)")
print("UInt \t size: \(sizeof(UInt)) \t min: \(UInt.min) \t max: \(UInt.max)")
let dVal = 1.1
dVal.dynamicType
let floatVal : Float = 1.1
let DoubleVal : Double = 1.1
print("Float \t size: \(sizeof(Float))")
print("Double \t size: \(sizeof(Double))")
let decimalVal = 10
let binaryVal = 0b1010
let octVal = 0o110
let hexval = 0x10
let exponentDouble1 = 12.12e1
let exponentDouble2 = 12.12e-1
let hexDecimalDouble = 0x12.3p1
//uint8Val = intVal
//uint8Val = UInt8.max + 1
uint8Val = UInt8(intVal)
let doubleRes = 1.34 + 5
let double1 = 1.34
let int1 = 5
let res = double1 + Double(int1)
typealias Distance = Int
let longDistance : Distance = 1
longDistance.dynamicType
Distance.min
Distance.max
let amiICool = true
if amiICool {
print("tks")
}
var doubleVal1 = 1.1