Можно ли указать длину слайса при инициализации

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

Ответ

Да, можно указать длину слайса при инициализации с помощью встроенной функции make(). Это позволяет сразу выделить память под указанное количество элементов.

s := make([]int, 5) // слайс с длиной и емкостью 5
fmt.Println(len(s)) // 5
fmt.Println(cap(s)) // 5

Если нужно задать и длину, и емкость (capacity), передается третий аргумент:

s := make([]int, 3, 10) // длина 3, емкость 10
fmt.Println(len(s)) // 3
fmt.Println(cap(s)) // 10

Такой подход оптимизирует производительность, избегая лишних аллокаций при добавлении элементов.