Когда надо сохранить несколько значений одного и того же типа данных в одной переменной и получать к ним доступ, используя индекс, то самый простой способ сделать это в Go — использовать массивы или срезы.
Массивы являются наиболее широко используемыми структурами данных и поддерживаются практически во всех языках программирования благодаря своей простоте и скорости доступа. Go предоставляет альтернативу массивам, которая называется срезом.
При определении переменной массива вы должны задать ее размер. В противном случае необходимо поместить в объявление массива [...]
и позволить компилятору Go определить длину для вас. Таким образом, вы можете создать массив с четырьмя элементами string либо как [4]string{"Zero", "One", "Two", "Three"}, либо как [...]string{"Zero", "One", "Two", "Three"}. Если ничего не заключить в квадратные скобки, то вместо массива будет создан срез.
Вы не можете изменить размер массива после того, как он уже создан. Когда вы передаете массив функции, Go создает его копию и передает ее в функцию — поэтому любые изменения, которые вы вносите в массив внутри функции, теряются при возврате.