您好,登錄后才能下訂單哦!
這篇文章主要介紹Swift基本數據類型有哪些,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!
Swift 基本數據類型
var intType: Int = 11 print(intType) // 11
var floatType: Float = 3.14e3 // 10進制中,e表示10的n次方,3.14 * (10^3) = 3140.0 print(floatType) // 3140.0 var floatType2: Float = 0x2p3 // 16進制中,p表示2的n次方,2 * (2^3) = 16.0 print(floatType2) // 16.0
var boolType = true // or false print(boolType) // true
允許不相關的類型自由組合為新的集合類型
// 定義元組,指定參數名稱 var person: (name: String, age: Int) = ("William", 18) print("name:", person.name, ", age:", person.age) // name: William , age: 18 // 元組不指定參數名稱,只指定類型 var city: (String, Int) = ("Shanghai", 200000) // 使用下標訪問 print(city.0, city.1) // Shanghai 200000 // 分解元組 var (name, code) = city print(name, code) // Shanghai 200000
對普通類型進行 Optional 包裝,實現對空值情況的監控。類似于 Kotlin 中可空類型的處理,即在類型或實例后面加不加問號。
如果是在實例后加問號,相當于是在調用實例時,對實例的值的空校驗
如果是在類型后加問號,相當于是指定當前變量值可為空 nil
// 單個 Optional 綁定,if-let 結構 var obj: String? = "Wuhan" if let temp = obj { // 當 obj 不為 nil 時,將 obj 賦值給 temp print("hello", temp) // hello Wuhan } else { // 否則重新為 obj 賦值 obj = "hello, if-let" print(obj) } // 多個 Optional 綁定 var obj1:Int? = 1 var obj2:Int? = 2 if let temp1 = obj1, let temp2 = obj2, temp1 < temp2 { // 當全部不為 nil 且滿足子句 temp1 < temp2 print(temp1, temp2) // 1 2 } else { print("obj1 or obj2 may be nil") } // Optional,可空,需要拆包 var obj4:Int? obj4 = 3 // 編譯異常,沒有進行拆包 // print(obj4 + 1) // 以下會自動拆包 var obj5:Int! // or Int obj5 = 3 print(obj5 + 2) // 5
類型別名,靈活使用可以優化代碼的可讀性
// 為 String 類型指定別名 Weight,后續可以像使用 String 一樣使用 Weight typealias Weight = String var weight:Weight = "50kg" print(weight) // 50kg
// 自動推斷類型 var a = 10, b:Int = 20, c = "hello swift" print(a, b , c) // 10 20 hello swift // 在數值前可加 0 進行位數填充,可加入下劃線,增加可讀性 var number1 = 001.234 // 1.234 var number2 = 1_234 // 1234 // 打印多個值使用逗號分隔 print(number1, number2) // 1.234 1234 // 二進制 var type_2 = 0b01 // 八進制 var type_8 = 0o02 // 十進制 var type_10 = 3 // 十六進制 var type_16 = 0x04 print(type_2, type_8 , type_10, type_16) // 1 2 3 4
以上是“Swift基本數據類型有哪些”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。