Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
⊗goPmLpAc 122 of 350 menu
◀ ▶

Накопление результата в Go

Давайте с помощью цикла найдем сумму целых чисел от 1 до 100. Для решения такой задачи в цикле перебираются числа и их сумма последовательно записывается в какую-то переменную:

res := 0 for i := 1; i <= 100; i++ { res = res + i } fmt.Println(res) // выведет 5050

Можно упростить решение через оператор +=:

res := 0 for i := 1; i <= 100; i++ { res += i } fmt.Println(res) // выведет 5050

С помощью циклов можно формировать строки. Давайте сделаем строку, заполненную десятью буквами "x":

str := "" for i := 0; i < 10; i++ { str += "x" } fmt.Println(str) // выведет xxxxxxxxxx

А теперь сделаем строку "12345". Для этого будем прибавлять к переменной счетчик цикла:

str := "" for i := 1; i <= 5; i++ { str = str + fmt.Sprint(i) } fmt.Println(str) // выведет 12345

Сумму можно собрать в переменной, добавляя к ней число на каждом круге. Перед циклом накопитель обычно обнуляют или задают начальное значение, а в теле обновляют с помощью сокращенной записи сложения.

Такой прием работает не только для суммы: можно считать произведение, количество шагов или любое другое значение, которое меняется от круга к кругу. Главное - одна переменная снаружи и понятное обновление внутри.

Сложим числа от 1 до 3 включительно:

sum := 0 for i := 1; i <= 3; i++ { sum += i } fmt.Println(sum)

После цикла в sum окажется 6: 1 плюс 2 плюс 3. Каждый круг добавляет текущий счетчик к накопителю.

Даны переменные:

total := 0 last := 4

Соберите сумму чисел от 1 до last включительно в total и выведите результат.

Даны переменные:

prod := 1 last := 3

Перемножьте числа от 1 до last включительно в prod и выведите prod.

Даны переменные:

steps := 0 limit := 9

Считайте в steps, сколько кругов делает цикл от 0, пока счетчик меньше limit. Выведите steps после цикла.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить