① 控制流
let a = 10
if a > 0 {
print("a > 0")
}
//可選類型的判斷if-let先判斷可選類型是否為空不為空創(chuàng)建一個(gè)局部變量來接受可選變量的值再執(zhí)行代碼塊,否則不執(zhí)行
let b:Int?
b = 1
if let c = b {
print("b = \(b)");
}
// if-let-where
// where是對(duì)定義出來的常量再進(jìn)行一層判斷
if let d = b where d > 0 {
print("d > 0")
}
// guard
func demo() {
var b:Int?
b = nil;
guard let d = b else {
print("aa")
return
}
print("d = \(d)")
}
demo()
② 枚舉
enum Stu:String {
Case First = "aa"
Case Secend = "bb"
Case Third = "cc"
}
var stu = Stu.First
print(stu.rawValue) // 需要打印枚舉值時(shí)需要 rawValue
注意: 一定要聲明枚舉類型 如果枚舉類型為不為Int 那么在給 枚舉對(duì)象進(jìn)行賦值時(shí) 需要對(duì)每一個(gè) 枚舉元素賦值
③ 可選類型
概念: 如果一個(gè)數(shù)據(jù)或?qū)ο?可能有值 也可能為nil 那么這個(gè)常量或變量就是一個(gè)可選類型 可選類型用 ? 進(jìn)行標(biāo)識(shí)
let a:String? = "a"
var b:String? // let 修飾必須進(jìn)行賦值 var 不需要進(jìn)行賦值
var c:Int? = 2 // 必須對(duì)其進(jìn)行賦值 基礎(chǔ)數(shù)據(jù)類型的可選類型如果不賦值 會(huì)使系統(tǒng)找不到相應(yīng)的key 值
可選類型 代碼
var a1:Int? = 33
print(a1)
let b = 10
let c = a1! + b//可選類型不能直接參與運(yùn)算需要用度液!強(qiáng)制解包
print(c)
④ 循環(huán)
// switch后面的小括號(hào)可以省略case后面的大括號(hào)可以省略
let a = 10
switch a {
case 1 :
print(" a = 2")
case 2 :
print("a = 3")
default:
print("a = 10")
}
//for ... in
//for i in 0..<10 { //開區(qū)間<閉區(qū)間.
//print(i)
//}
// while
vari =10
//while i >= 1 {
//print(i)
//i -= 1
//}
// do - while不存在了取而代之的是repeat-while
repeat{
print(i)
i-=1
} while i>5
補(bǔ)充 :
//空運(yùn)算標(biāo)識(shí)符曾雕?9逋幌羞?隐孽?-》
var value:Int?
value = 15
let value1 = (value ?? 5) + 20 //value有值就用value加20沒有就用5 + 20是晨;
print("value1 = (value1)")