有以下幾種基本數(shù)據(jù)類型:
- 整型
- 浮點(diǎn)型
- 布爾型
- 元組
- 可選值 Optional
1. 整型
1
2
|
var intType: Int = 11 print (intType) / / 11 |
2. 浮點(diǎn)型
1
2
3
4
5
|
var floatType: Float = 3.14e3 / / 10 進(jìn)制中,e表示 10 的n次方, 3.14 * ( 10 ^ 3 ) = 3140.0 print (floatType) / / 3140.0 var floatType2: Float = 0x2p3 / / 16 進(jìn)制中,p表示 2 的n次方, 2 * ( 2 ^ 3 ) = 16.0 print (floatType2) / / 16.0 |
3. 布爾型
1
2
|
var boolType = true / / or false print (boolType) / / true |
4. 元組
允許不相關(guān)的類型自由組合為新的集合類型
1
2
3
4
5
6
7
8
9
10
11
12
|
/ / 定義元組,指定參數(shù)名稱 var person: (name: String, age: Int ) = ( "William" , 18 ) print ( "name:" , person.name, ", age:" , person.age) / / name: William , age: 18 / / 元組不指定參數(shù)名稱,只指定類型 var city: (String, Int ) = ( "Shanghai" , 200000 ) / / 使用下標(biāo)訪問(wèn) print (city. 0 , city. 1 ) / / Shanghai 200000 / / 分解元組 var (name, code) = city print (name, code) / / Shanghai 200000 |
5. 可選值 Optional
對(duì)普通類型進(jìn)行 Optional 包裝,實(shí)現(xiàn)對(duì)空值情況的監(jiān)控。類似于 Kotlin 中可空類型的處理,即在類型或?qū)嵗竺婕硬患訂?wèn)號(hào)。
- 如果是在實(shí)例后加問(wèn)號(hào),相當(dāng)于是在調(diào)用實(shí)例時(shí),對(duì)實(shí)例的值的空校驗(yàn)
- 如果是在類型后加問(wèn)號(hào),相當(dāng)于是指定當(dāng)前變量值可為空 nil
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
/ / 單個(gè) Optional 綁定, if - let 結(jié)構(gòu) var obj: String? = "Wuhan" if let temp = obj { / / 當(dāng) obj 不為 nil 時(shí),將 obj 賦值給 temp print ( "hello" , temp) / / hello Wuhan } else { / / 否則重新為 obj 賦值 obj = "hello, if-let" print (obj) } / / 多個(gè) Optional 綁定 var obj1: Int ? = 1 var obj2: Int ? = 2 if let temp1 = obj1, let temp2 = obj2, temp1 < temp2 { / / 當(dāng)全部不為 nil 且滿足子句 temp1 < temp2 print (temp1, temp2) / / 1 2 } else { print ( "obj1 or obj2 may be nil" ) } / / Optional,可空,需要拆包 var obj4: Int ? obj4 = 3 / / 編譯異常,沒(méi)有進(jìn)行拆包 / / print (obj4 + 1 ) / / 以下會(huì)自動(dòng)拆包 var obj5: Int ! / / or Int obj5 = 3 print (obj5 + 2 ) / / 5 |
類型別名
類型別名,靈活使用可以優(yōu)化代碼的可讀性
1
2
3
4
|
/ / 為 String 類型指定別名 Weight,后續(xù)可以像使用 String 一樣使用 Weight typealias Weight = String var weight:Weight = "50kg" print (weight) / / 50kg |
自動(dòng)推斷、可讀性優(yōu)化,2/8/10/16 進(jìn)制 表示
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
/ / 自動(dòng)推斷類型 var a = 10 , b: Int = 20 , c = "hello swift" print (a, b , c) / / 10 20 hello swift / / 在數(shù)值前可加 0 進(jìn)行位數(shù)填充,可加入下劃線,增加可讀性 var number1 = 001.234 / / 1.234 var number2 = 1_234 / / 1234 / / 打印多個(gè)值使用逗號(hào)分隔 print (number1, number2) / / 1.234 1234 / / 二進(jìn)制 var type_2 = 0b01 / / 八進(jìn)制 var type_8 = 0o02 / / 十進(jìn)制 var type_10 = 3 / / 十六進(jìn)制 var type_16 = 0x04 print (type_2, type_8 , type_10, type_16) / / 1 2 3 4 |
GitHub 源碼:BasicType.playground
到此這篇關(guān)于Swift 基本數(shù)據(jù)類型詳解總結(jié)的文章就介紹到這了,更多相關(guān)Swift 基本數(shù)據(jù)類型內(nèi)容請(qǐng)搜索服務(wù)器之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持服務(wù)器之家!
原文鏈接:https://blog.csdn.net/java_android_man/article/details/121056347