Как работает DISTINCT?

В Go нет встроенной функции DISTINCT, как в SQL, но обычно под DISTINCT понимают операцию удаления дубликатов из среза.

Короткий ответ

Что ответить на собеседовании

В Go нет встроенной функции DISTINCT, как в SQL, но обычно под DISTINCT понимают операцию удаления дубликатов из среза.

Подробный разбор

Ответ с пояснениями

В 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 и формирования нового среза без повторов.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее