Back to questions
OZON
Senior
5
Как работает DISTINCT?
Companies where asked
Answer from AI
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 и формирования нового среза без повторов.