####1、在swift中有么一个“_”符号,具体例子如下。
func greet(_ person: String, on day: String) -> String {
return "Hello \(person), today is \(day)."
}
分析:使用_代表忽略(不使用)参数标签。
####2.!
和?
是什么东西呢?
? 和 ! 其实分别是Swift语言中对一种可选类型( Optional) 操作的语法糖。
?是一种判断后再拆包的语法糖
!是一种强制拆包的语法糖
当你不确定有值的时候就可以用 ?
当你确定有值的时候可以用 !
例如: var name: String? Optional其实是个enum,里面有None和Some两种类型。 其实所谓的nil就是Optional.None , 非nil就是Optional.Some, 然后会通过Some(T)包装(wrap)原始值, 这也是为什么在使用Optional的时候要拆包(从enum里取出来原始值)的原因。
?的几种使用场景:
1.声明Optional值变量
2.用在对Optional值操作中,用来判断是否能响应后面的操作
3.用于安全调用protocol的optional方法
4.使用 as? 向下转型(Downcast)
!的使用场景
1.强制对Optional值进行拆包(unwrap)
2.声明Implicitly Unwrapped Optionals值,一般用于类中的属性