Как в Golang сделать цикл по всем элементам массива

В Golang есть как минимум три способа пробежаться по всем элементам массива. Для начала рассмотрим foreach-like способ:

for key, value := range A {
	// do something
}

Однако, если вам не нужно значение ключа, или наоборот нужен только ключ, то можно опустить вторую переменную с помощью символа нижнего подчёркивания:

for _, value := range A {
	// do something
}
for key, _ := range A {
	// do something
}

Второй, более классический способ — получить количество элементов в массиве и пробежаться явно по каждому элементу:

var lenght = len(A)
for k := 0; k < lenght; k++ {
	// do something
}

И третий вариант:

var i = 0
var k = len(A) - 1
for i < k {
	i++
	// or k--
	// do something
}

Что эквивалентно:

var i = 0
var k = len(A) - 1
for {
    // do something
    i++
    if i == k {
        break
    }
}

Также в циклах можно использовать операторы break и continue, но только для текущего уровня. сделать break или continue для родительского цикла невозможно.