Создание через make в Go
Срез нужной длины создают заранее, и элементы тогда равны нулю. Для этого служит встроенная команда make: указывают тип среза и желаемую длину. Так получают готовые ячейки без перечисления каждого числа в литерале.
nums := make([]int, 3)
fmt.Println(nums)
fmt.Println(len(nums))
slot := make([]int, 0, 4)
fmt.Println(slot)
fmt.Println(len(slot), cap(slot))
Второй формой задают длину 0 и отдельно тем, сколько места зарезервировать под будущие добавления. Сначала три нулевых элемента, затем пустой срез с емкостью четыре:
Первый вывод: три нуля. У slot длина 0, емкость 4. Так готовят место заранее, не заполняя элементы сразу.
Создайте через make срез из трех целых в row и выведите его.
Создайте срез с нулевой длиной и емкостью четыре в buf, выведите длину и емкость.
Скажите, чему равны элементы сразу после создания среза целых заданной длины.