Этот сайт использует cookies. Продолжение работы с сайтом означает, что Вы согласны!
Переворачивание слайса
Давайте потренируемся и напишем функцию reverse()
, позволяющую перевернуть слайс, состоящий из целых чисел (листинг 5.6).
Листинг 5.6. Переворачивание слайса
package main
import "fmt"
func main() {
arr := []int{1, 2, 3, 4, 5}
reverse(arr)
fmt.Println(arr) // [5 4 3 2 1]
reverse(arr)
fmt.Println(arr) // [1 2 3 4 5]
}
func reverse(arr []int) {
if len(arr) < 2 {
return
}
for i, j := 0, len(arr) - 1; i < j; i, j = i + 1, j - 1 {
arr[i], arr[j] = arr[j], arr[i]
}
}
Вначале переменной i
присваиваем индекс первого элемента, а переменной j
— индекс последнего элемента. На каждой итерации цикла будем увеличивать значение переменной i
и уменьшать значение переменной j
. Цикл будет выполняться, пока i
меньше j
. На каждой итерации цикла мы просто меняем местами значения двух элементов слайса.
Помощь сайту
ЮMoney (Yandex-деньги): 410011140483022
ПАО Сбербанк:
Счет: 40817810855006152256
Реквизиты банка:
Наименование: СЕВЕРО-ЗАПАДНЫЙ БАНК ПАО СБЕРБАНК
Корреспондентский счет: 30101810500000000653
БИК: 044030653
КПП: 784243001
ОКПО: 09171401
ОКОНХ: 96130
Скриншот реквизитов