Sobes.tech
Back to questions
Senior
6

Что такое дженерики в Go? Как понимаешь?

Companies where asked
Lenta Tech

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{} и приведения типов.