久久国产精品不只是精品66,亚洲视频在线观看91,91Av在线观看国产日本视频,在线播放国产精品大片

      Swift 4.1釋出,擴(kuò)充泛型加入條件一致性

      時(shí)間:2018-04-04 13:29:11 來(lái)源:蕪湖網(wǎng)
      默認(rèn)
      特大
      宋體
      黑體
      雅黑
      楷體
      條評(píng)論

      Apple宣布正式釋出Swift 4.1 ,這次添加了新的語(yǔ)言功能、建置選項(xiàng)以及一些Swift套件管理器的強(qiáng)化,現(xiàn)在Xcode 9.3 beta也已經(jīng)支持Swift 4.1,開(kāi)發(fā)者可以先嚐鮮試試新功能。

      語(yǔ)言本身的功能,其中重要的更新便是泛型的擴(kuò)充,讓Swift的泛型系統(tǒng)有更完整的表達(dá)方法。Swift 4.1在標(biāo)準(zhǔn)函式庫(kù)中加入條件一致性,其所表達(dá)的概念為,泛型類(lèi)型只有在其參數(shù)類(lèi)型符合特定要求時(shí)才符合特定協(xié)定。

      在Swift 4.0中,雖然Array可以使用等號(hào)比較運(yùn)算子==,Optional卻不行,而等號(hào)比較運(yùn)算子也不支持兩個(gè)Optional操作數(shù),因此let a = ["1","2","x"].map a == [1,2,nil]這樣的寫(xiě)法,會(huì)收到編譯器的錯(cuò)誤警告。

      但是現(xiàn)在Swift 4.1,已經(jīng)可以修正這樣的問(wèn)題,開(kāi)發(fā)者可以讓原本無(wú)法使用等號(hào)比較運(yùn)算子的型態(tài),透過(guò)實(shí)作后也能使用。以O(shè)ptional為例,開(kāi)發(fā)者可以先為Optional實(shí)做等號(hào)比較運(yùn)算子,撰寫(xiě)extension Optional: Equatable where Wrapped: Equatable {}程式碼,便能讓Optional像Array一樣使用等號(hào)比較運(yùn)算子。

      在Swift 4.1中受惠于條件一致性,Optional、Array和Dictionary只要值與元素符合,就能使用等號(hào)比較運(yùn)算子和哈希表。而這個(gè)方法也適用于可編碼屬性,現(xiàn)在嘗試編碼一個(gè)無(wú)法編碼的型態(tài),會(huì)得到錯(cuò)誤訊息而不會(huì)困在Runtime階段的執(zhí)行陷阱。

      編譯器在之前版本支持速度最佳化后,Swift 4.1還支持程式碼容量最佳化。新的最佳化選項(xiàng)可以選擇對(duì)全模組或是單一檔案編譯最佳化,Apple表示,全模組最佳化的效果較佳,檔案大小能減少5%到30%。 另外,套件管理器現(xiàn)在可以正確的解決,來(lái)自SSH或是HTTP不同協(xié)定套件圖的相依性問(wèn)題,并能更快的處理共享相依性。

      Copyright ? 2012-2019 蕪湖網(wǎng) 版權(quán)所有 皖I(lǐng)CP備18025966號(hào) 關(guān)于我們 | 廣告服務(wù) | 誠(chéng)聘英才 | 聯(lián)系我們 | 滾動(dòng)新聞 | 免責(zé)申明