Sobes.tech
Middle+

Czym są generyki w Go? Czy już ich używałeś?

sobes.tech AI

Odpowiedź od AI

Generyki w Go to mechanizm parametryzacji typów, który pozwala na pisanie funkcji, struktur i interfejsów działających z różnymi typami danych bez duplikowania kodu. Generyki pojawiły się po raz pierwszy w Go od wersji 1.18.

Przykład użycia generyków dla funkcji, która zwraca pierwszy element slice:

package main
import "fmt"

func First[T any](slice []T) T {
    return slice[0]
}

func main() {
    nums := []int{1, 2, 3}
    words := []string{"cześć", "świat"}

    fmt.Println(First(nums))  // 1
    fmt.Println(First(words)) // cześć
}

Użyłem generyków do pisania ogólnych kontenerów i narzędzi, co znacznie zmniejsza duplikację kodu i poprawia czytelność.