Источник: Nuances of Programming В Go типы данных разделяют на следующие четыре категории: В этой статье мы рассмотрим четыре составных типа: массивы, срезы, ассоциативный массив и структуры. Массив // Заданный фиксированный размер
a := [3]int{1,2,3} // Литерал массива с длиной, определяемой механизмом вывода типов
a := [...]int{1,2,3} var a [3]int
a[0] = 1
a[1] = 2
a[2] = 3 В литерале массива нотация ... используется для указания длины, равной количеству элементов в литерале. При использовании массива в качестве параметров функции функция внутри принимает вместо исходного массива его копию. Это поведение отличается от поведения, характерного для других языков, в которых массивы передаются по ссылке неявно. Срез // срез имеющегося массива
a := [...]int{1,2,3,4,5,6}
b := a[:3] // стиль литерала
c := []int{1,2,3,4,5,6} // с помощью функции «make»
d := make([]int, 10, 100) // срез длиной и объемом length==10 capacity==100 соответственно
e := make([]int, 10) // срез длиной и объемом