在尖括號(hào)中寫(xiě)一個(gè)名稱(chēng)琐鲁,來(lái)創(chuàng)建一個(gè)泛型方法或是類(lèi)型。例:
你可以以泛型形式創(chuàng)建函數(shù)和方法惭每,也可以創(chuàng)建類(lèi)骨饿,枚舉,結(jié)構(gòu)體台腥。例:
可以使用 "where" 關(guān)鍵字指明一系列的滿足條件 —— 例如宏赘,需要一個(gè)類(lèi)型實(shí)現(xiàn)一個(gè)協(xié)議,需要兩個(gè)類(lèi)型是相通的黎侈,或者需要一個(gè)類(lèi)繼承于特定的一個(gè)基類(lèi)察署。例:
示例代碼中的條件意為 T 序列中的元素滿足Equatable 協(xié)議,同時(shí)T峻汉,U 兩個(gè)序列中的元素的類(lèi)型是一致的(swift 中使用 "===" 來(lái)表示類(lèi)型相同值也相同)箕母。在 swift 3.0 中储藐,where 寫(xiě)在大括號(hào)("{ }")之前,函數(shù)定義之后嘶是,swift 2.0 的時(shí)候钙勃,where 語(yǔ)句寫(xiě)在尖括號(hào)("<>")內(nèi)。
注:<T:Equatable> 和 <T> ... where T: Equatable 的作用是一致的聂喇。