Ответ
Дженерики (generics) в Go позволяют писать универсальный код, работающий с разными типами данных без дублирования. Они появились в Go 1.18.
Пример:
func Sum[T int | float64](a, b T) T {
return a + b
}
// Использование
sumInt := Sum(1, 2) // 3
sumFloat := Sum(1.5, 2.5) // 4.0
Особенности:
- Используют параметризованные типы (
[T TypeConstraint]). - Ограничения типов (
any,comparable, интерфейсы или объединения через|). - Уменьшают дублирование кода, но могут усложнять читаемость.
Подходит для коллекций (map, slice) и алгоритмов (сортировка, фильтрация).
Видео-ответы
▶
▶
▶
▶