Назад к вопросам
OZON
Senior
4
Как работает DISTINCT?
Компании, где спрашивали
Ответ от нейросети
sobes.tech AI
В Go нет встроенной функции DISTINCT, как в SQL, но обычно под DISTINCT понимают операцию удаления дубликатов из среза.
Для реализации DISTINCT в Go можно использовать карту (map) для отслеживания уже встреченных элементов. Например:
func Distinct(slice []int) []int {
seen := make(map[int]struct{})
result := []int{}
for _, v := range slice {
if _, ok := seen[v]; !ok {
seen[v] = struct{}{}
result = append(result, v)
}
}
return result
}
Таким образом, DISTINCT работает за счёт хранения уникальных значений в map и формирования нового среза без повторов.