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ść.