cpp

Перебор элементов слайса

Для перебора элементов слайса чаще всего используется следующий формат цикла for:

for <Индекс>[, <Значение>] := range <Слайс> {
   <Инструкции>
}

Пример:

arr := []int{10, 20, 30}
for index, value := range arr {
   fmt.Println(index, value)
}

Результат:

0 10
1 20
2 30

Если нужен только индекс, то параметр <Значение> можно не указывать. Умножим значения всех элементов слайса на 2:

arr := []int{10, 20, 30}
for index := range arr {
   arr[index] *= 2
}
fmt.Println(arr) // [20 40 60]

Если нужно только значение, то можно воспользоваться следующим кодом:

arr := []int{10, 20, 30}
for _, value := range arr {
   fmt.Print(value, " ")
} // 10 20 30

Для перебора элементов слайса удобно также использовать полный формат цикла for. В первом параметре переменной-счетчику присваивается значение 0 (элементы слайса нумеруются с нуля), условием продолжения является значение переменной-счетчика меньше количества элементов слайса. В третьем параметре указывается приращение на единицу на каждой итерации цикла. Внутри цикла доступ к элементу осуществляется с помощью квадратных скобок, внутри которых указывается переменная-счетчик. Пронумеруем все элементы слайса, а затем выведем все значения в прямом и обратном порядке:

var arr []int = make([]int, 20)
// Нумеруем все элементы слайса
for i, j, c := 0, 1, len(arr); i < c; i, j = i + 1, j + 1 {
   arr[i] = j
}
// Выводим значения в прямом порядке
for i, c := 0, len(arr); i < c; i++ {
   fmt.Println(arr[i])
}
fmt.Println("-------------------")
// Выводим значения в обратном порядке
for i := len(arr) - 1; i >= 0; i-- {
   fmt.Println(arr[i])
}

Учебник Go (Golang)
Учебник Go (Golang) в формате PDF

Помощь сайту

ЮMoney (Yandex-деньги): 410011140483022

ПАО Сбербанк:
Счет: 40817810855006152256
Реквизиты банка:
Наименование: СЕВЕРО-ЗАПАДНЫЙ БАНК ПАО СБЕРБАНК
Корреспондентский счет: 30101810500000000653
БИК: 044030653
КПП: 784243001
ОКПО: 09171401
ОКОНХ: 96130
Скриншот реквизитов

cpp