① 控制流
let a = 10
if a > 0 {
print("a > 0")
}
//可选类型的判断if-let先判断可选类型是否为空不为空创建一个局部变量来接受可选变量的值再执行代码块,否则不执行
let b:Int?
b = 1
if let c = b {
print("b = \(b)");
}
// if-let-where
// where是对定义出来的常量再进行一层判断
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) // 需要打印枚举值时需要 rawValue
注意: 一定要声明枚举类型 如果枚举类型为不为Int 那么在给 枚举对象进行赋值时 需要对每一个 枚举元素赋值
③ 可选类型
概念: 如果一个数据或对象 可能有值 也可能为nil 那么这个常量或变量就是一个可选类型 可选类型用 ? 进行标识
let a:String? = "a"
var b:String? // let 修饰必须进行赋值 var 不需要进行赋值
var c:Int? = 2 // 必须对其进行赋值 基础数据类型的可选类型如果不赋值 会使系统找不到相应的key 值
可选类型 代码
var a1:Int? = 33
print(a1)
let b = 10
let c = a1! + b//可选类型不能直接参与运算需要用!强制解包
print(c)
④ 循环
// switch后面的小括号可以省略case后面的大括号可以省略
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 { //开区间<闭区间.
//print(i)
//}
// while
vari =10
//while i >= 1 {
//print(i)
//i -= 1
//}
// do - while不存在了取而代之的是repeat-while
repeat{
print(i)
i-=1
} while i>5
补充 :
//空运算标识符?!??-》
var value:Int?
value = 15
let value1 = (value ?? 5) + 20 //value有值就用value加20没有就用5 + 20;
print("value1 = (value1)")