日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

SwiftUI Swift内功之Swift 中的 some vs any

發(fā)布時(shí)間:2024/5/15 编程问答 56 豆豆
生活随笔 收集整理的這篇文章主要介紹了 SwiftUI Swift内功之Swift 中的 some vs any 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

介紹

some

  • 持有混凝土類型
  • 保證類型關(guān)系

any

  • 持有任意具體類型
  • 擦除類型關(guān)系

#正文
在本文中,我總結(jié)了 WWDC 2022 關(guān)于“some”和“any”的會(huì)議內(nèi)容。

代表特定具體類型的占位符的抽象類型稱為不透明類型opaque type。被替換的具體具體類型稱為基礎(chǔ)類型underlying type。

對(duì)于具有 opaque 類型的值,底層類型對(duì)于值的范圍是固定的。這樣,使用該值的通用代碼保證每次訪問該值時(shí)都獲得相同的底層類型。

使用“some”關(guān)鍵字的類型和尖括號(hào)中的命名類型參數(shù)都聲明了不透明類型。

some Animal <T: Animal>

不透明類型可用于輸入和輸出,因此可以在參數(shù)位置或結(jié)果位置聲明它們。功能箭頭是這些位置之間的分界線。不透明類型的位置決定了程序的哪一部分看到了抽象類型,而程序的哪一部分決定了具體類型。

命名類型參數(shù)總是在輸入端聲明,所以調(diào)用者決定底層類型,實(shí)現(xiàn)使用抽象類型。

func getValue<T>(Parameter) -> Result

通常,為不透明參數(shù)或結(jié)果類型提供值的程序部分決定了底層類型,而使用該值的程序部分看到了抽象類型。因?yàn)榛A(chǔ)類型是從一個(gè)值推斷出來的,所以基礎(chǔ)類型總是來自與值相同的位置。對(duì)于局部變量,底層類型是從賦值右側(cè)的值推斷出來的。

let animal: some Animal = Horse()

這意味著具有 opaque 類型的局部變量必須始終具有初始值&

總結(jié)

以上是生活随笔為你收集整理的SwiftUI Swift内功之Swift 中的 some vs any的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。