Back to questions
Junior — Middle
84
Можно ли выполнять цикл по массиву или списку, который был объявлен без указания параметров?
Answer from AI
sobes.tech AI
В Go массивы и срезы (slice) имеют строго определённый тип, включая тип элементов и длину (для массивов). Если массив объявлен без указания длины, например var arr []int, то это срез, а не массив. По срезу можно выполнять цикл for range без проблем.
Если же объявлен массив без указания длины, например arr := [...]int{1,2,3}, то длина выводится компилятором, и по нему тоже можно итерироваться.
Однако, если объявлен массив без указания параметров вообще, например var arr [], то это синтаксически неверно в Go — тип должен быть указан полностью.
Пример корректного цикла по срезу:
arr := []int{1, 2, 3}
for i, v := range arr {
fmt.Println(i, v)
}
Таким образом, можно выполнять цикл по массиву или срезу, если тип и длина (для массива) известны. Объявление без параметров невозможно.