Судя по главе
golang-book.ru/chapter-06-arrays-slices-maps.html и практике
Массив в golang имеет только фиксированную длину:
var x [5]int
Т.е. нельзя создать массив неопределённой длинны типа var x []int для этого существует срез:
var x []int
В учебнике пишут:
Срез это часть массива.
Но на деле срез это не всегда часть массива, т.к. он может существовать отдельно от него и никак не связан с ним. Т.е. в программе может быть срез и не быть ни одного массива.
Вопрос: для чего тогда массивы в языке сделаны?
Исключительно для того что бы заранее создать какой-то список у которого известна длина просто для ускорения работы программы (не надо подсчитывать ни длину, ни тип смотреть), ведь массивы выходит нельзя динамически сокращать или добавлять в них элементы? Можно только менять?