Generyki w Swift
Mar 09 2023
Typy generyczne umożliwiają pisanie elastycznego kodu wielokrotnego użytku, który może współpracować z różnymi typami. Używając generycznych, możesz definiować funkcje, klasy i struktury, które mogą działać z dowolnym typem, a nie tylko z jednym konkretnym typem.
Typy generyczne umożliwiają pisanie elastycznego kodu wielokrotnego użytku, który może współpracować z różnymi typami. Używając generycznych, możesz definiować funkcje, klasy i struktury, które mogą działać z dowolnym typem, a nie tylko z jednym konkretnym typem.
Oto przykład funkcji ogólnej, która pobiera tablicę dowolnego typu i zwraca pierwszy element tej tablicy:
func firstElement<T>(of array: [T]) -> T? {
array.first
}
Następnie możesz wywołać tę funkcję z dowolnym typem tablicy:
let strings = ["apple", "banana", "orange"]
let firstString = firstElement(of: strings) // "apple"
let numbers = [1, 2, 3]
let firstNumber = firstElement(of: numbers) // 1
struct Stack<T> {
private var elements = [T]()
mutating func push(_ element: T) {
elements.append(element)
}
mutating func pop() -> T? {
elements.popLast()
}
}
var stringStack = Stack<String>()
stringStack.push("apple")
stringStack.push("banana")
let poppedString = stringStack.pop() // "banana"
var numberStack = Stack<Int>()
numberStack.push(1)
numberStack.push(2)
let poppedNumber = numberStack.pop() // 2

![Czym w ogóle jest lista połączona? [Część 1]](https://post.nghiatu.com/assets/images/m/max/724/1*Xokk6XOjWyIGCBujkJsCzQ.jpeg)



































