Sobes.tech
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ć.