Ответ
В Go можно конвертировать слайс в массив, но нужно знать точный размер массива заранее. Для этого используется приведение типов:
s := []int{1, 2, 3, 4}
arr := [4]int(s) // конвертация слайса в массив
Важные нюансы:
- Размер массива должен точно совпадать с длиной слайса
- Если размер не совпадает - будет ошибка компиляции
- Массив будет копией данных слайса, изменения в одном не повлияют на другой
Пример с ошибкой:
s := []int{1, 2, 3}
arr := [4]int(s) // ошибка: cannot convert s (type []int) to type [4]int
Для динамического случая можно использовать reflect, но это не рекомендуется в production коде.