Swift 泛型(Generics)是一種強大的編程特性,它允許你在編寫代碼時創建可重用的、類型安全的組件。要充分利用 Swift 泛型的優勢,可以遵循以下幾點:
func printGenericValue<T>(_ value: T) {
print(value)
}
printGenericValue(42) // 編譯器自動推斷 T 為 Int
printGenericValue("Hello, world!") // 編譯器自動推斷 T 為 String
protocol Printable {
func print()
}
func printGenericValue<T: Printable>(_ value: T) {
value.print()
}
typealias GenericIdentifier<T> = T
func printGenericValue<T: Printable>(identifier: GenericIdentifier<T>) {
identifier.print()
}
protocol GenericProtocol {
associatedtype Item
func processItem(_ item: Item)
}
struct GenericStruct<T: GenericProtocol>: GenericProtocol {
typealias Item = T.Item
func processItem(_ item: Item) {
// 處理 item 的邏輯
}
}
func processGenericData<T>(_ data: [T], _ closure: (T) -> Void) {
for item in data {
closure(item)
}
}
遵循這些建議,你將能夠充分利用 Swift 泛型的優勢,編寫更簡潔、可重用且類型安全的代碼。