Junior — Middle
Czy możesz wyjaśnić koncepcję typów generycznych w programowaniu?
sobes.tech AI
Odpowiedź od AI
Typy generyczne pozwalają na tworzenie komponentów, klas, funkcji lub struktur, które działają z różnymi typami danych, zapewniając bezpieczeństwo typów i ponowne użycie kodu.
Zamiast pisać osobny kod dla każdego typu, piszesz jeden kod generyczny z parametrem typu. Przy użyciu tego kodu określasz konkretny typ, z którym chcesz pracować.
Na przykład w Swift (iOS) można zadeklarować funkcję generyczną:
generic func swapValues<T>(_ a: inout T, _ b: inout T) {
let temp = a
a = b
b = temp
}
var x = 5
var y = 10
swapValues(&x, &y) // x teraz 10, y teraz 5
var s1 = "hello"
var s2 = "world"
swapValues(&s1, &s2) // s1 teraz "world", s2 teraz "hello"
Tutaj T to parametr typu, który może być dowolnym typem. To pozwala funkcji pracować z dowolnymi typami danych, zachowując bezpieczeństwo typów.
Typy generyczne są szeroko stosowane do tworzenia kolekcji, np. tablic, słowników itp., gdzie typ elementów może się różnić.