1、在swift中有么一個(gè)“_”符號(hào),具體例子如下。
func greet(_ person: String, on day: String) -> String {
return "Hello \(person), today is \(day)."
}
分析:使用_代表忽略(不使用)參數(shù)標(biāo)簽。
2.!和?是什么東西呢?
? 和 ! 其實(shí)分別是Swift語(yǔ)言中對(duì)一種可選類型( Optional) 操作的語(yǔ)法糖。
?是一種判斷后再拆包的語(yǔ)法糖
!是一種強(qiáng)制拆包的語(yǔ)法糖
當(dāng)你不確定有值的時(shí)候就可以用 ?
當(dāng)你確定有值的時(shí)候可以用 !
例如: var name: String? Optional其實(shí)是個(gè)enum,里面有None和Some兩種類型。 其實(shí)所謂的nil就是Optional.None , 非nil就是Optional.Some, 然后會(huì)通過(guò)Some(T)包裝(wrap)原始值, 這也是為什么在使用Optional的時(shí)候要拆包(從enum里取出來(lái)原始值)的原因。

Snip20190225_2.png
?的幾種使用場(chǎng)景:
1.聲明Optional值變量
2.用在對(duì)Optional值操作中,用來(lái)判斷是否能響應(yīng)后面的操作
3.用于安全調(diào)用protocol的optional方法
4.使用 as? 向下轉(zhuǎn)型(Downcast)
!的使用場(chǎng)景
1.強(qiáng)制對(duì)Optional值進(jìn)行拆包(unwrap)
2.聲明Implicitly Unwrapped Optionals值,一般用于類中的屬性