Что такое дженерики в Go? Как понимаешь?
Answer from AI
sobes.tech AI
Дженерики (generics) в Go — это механизм, позволяющий писать функции, типы и структуры, которые работают с разными типами данных, сохраняя при этом типобезопасность.
До появления дженериков в Go приходилось использовать интерфейсы или писать повторяющийся код для разных типов. С дженериками можно определить параметризованные типы с ограничениями (constraints), которые задают, какие типы допустимы.
Пример функции с дженериком:
func Max[T comparable](a, b T) T {
if a > b {
return a
}
return b
}
Здесь T — параметр типа, ограниченный интерфейсом comparable (типы, поддерживающие операции сравнения). Функция Max возвращает максимальное из двух значений типа T.
Таким образом, дженерики позволяют писать более универсальный и переиспользуемый код, сохраняя строгую типизацию и избегая использования interface{} и приведения типов.