Swift簡明チュートリアル(7)汎用
7367 ワード
Swift簡明チュートリアル(7)汎用
カッコを使用して、汎用関数またはタイプを定義します.
カッコを使用して、汎用関数またはタイプを定義します.
func repeat<ItemType>(item: ItemType, times: Int) -> ItemType[] {
var result = ItemType[]()
for i in 0..times {
result += item
}
return result
}
repeat("knock", 4)
、 。
// Swift optional
enum OptionalValue<T> {
case None
case Some(T)
}
var possibleInteger: OptionalValue<Int> = .None
possibleInteger = .Some(100)
where
, : 、 、 。
func anyCommonElements <T, U where T: Sequence, U: Sequence, T.GeneratorType.Element: Equatable, T.GeneratorType.Element == U.GeneratorType.Element> (lhs: T, rhs: U) -> Bool {
for lhsItem in lhs {
for rhsItem in rhs {
if lhsItem == rhsItem {
return true
}
}
}
return false
}
anyCommonElements([1, 2, 3], [3])
anyCommonElements
, 。
, where
, , <T: Equatable>
<T where T: Equatable>
。