整數(shù)和浮點轉(zhuǎn)換
整數(shù)和浮點數(shù)字類型之間的轉(zhuǎn)換必須顯式:
let three = 3
let pointOneFourOneFiveNine = 0.14159
let pi = Double(three) + pointOneFourOneFiveNine
// pi equals 3.14159, and is inferred to be of type Double
這里,常量3的值用于創(chuàng)建類型Double的新值,以使加法的兩側(cè)具有相同的類型。 如果不進行此轉(zhuǎn)換,則不允許將這兩個常量相加。
浮點到整數(shù)轉(zhuǎn)換也必須顯式。 整數(shù)類型可以使用Double或Float值初始化:
let integerPi = Int(pi)
// integerPi equals 3, and is inferred to be of type Int
當以這種方式初始化新的整數(shù)值時,浮點值總是被截斷。 這意味著4.75變?yōu)?,-3.9變?yōu)?3。
類型別名
類型別名定義現(xiàn)有類型的備用名稱。 您可以使用typealias關(guān)鍵字定義類型別名。
typealias AudioSample = UInt16
定義類型別名后,您可以在可能使用原始名稱的任何位置使用別名:
var maxAmplitudeFound = AudioSample.min
// maxAmplitudeFound is now 0
這里,AudioSample定義為UInt16的別名。 因為它是一個別名,所以對AudioSample.min的調(diào)用實際上調(diào)用了UInt16.min,它為maxAmplitudeFound變量提供了一個初始值0。