Как получить срез из первый N элементов слайса

«Как получить срез из первый N элементов слайса» — вопрос из категории Golang, который задают на 23% собеседований Golang Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

// Получить первые N элементов слайса
s := []int{1, 2, 3, 4, 5}
n := 3
firstN := s[:n] // [1, 2, 3]

// Важно: если n > len(s), будет паника
// Безопасный вариант:
firstNSafe := s[:min(n, len(s))]

// Для Go <1.21 можно использовать:
func min(a, b int) int {
    if a < b { return a }
    return b
}

Ключевые моменты:

  • Используйте срез s[:n]
  • Проверяйте границы, чтобы избежать паники
  • В Go 1.21+ используйте встроенную min()