绑定bind

113 阅读1分钟

1、无条件绑定

var age = 10
switch age {
case let a: // let a 代表 将age的值绑定到a上
	print(a)
case 2:
	print(1)
default:
	break
}

2、条件绑定

var age = 10
switch age {
case let a where a > 20: // let a 代表 将age的值绑定到a上且a>20
	print(a)
case 2:
	print(1)
default:
	break
}

3、可选类型绑定

var age: Int? = 10
switch age {
case let a?: // let a 代表 将age的值绑定到a上, 并没有解包, a 是可选项类型, 而a?则是将a解包,此时a是Int类型
	print(a)
case nil:
	print(1)
default:
	break
}

// 将age的值解包绑定到a上,a是Int类型, 相当于a?
if let a = age {

}

由于可选项本质是enum枚举类型,还可以下写法:

var age = 10
switch age {
case let .some(v): // let 代表case后面出现的变量v为let
	print(a)
case .none:
	print(1)
}