← Все этапы
02 · ИНСТРУМЕНТЫУрок 04 из 1240 мин

Массивы и срезы

Храним упорядоченные значения и безопасно добавляем новые элементы.

Срез растёт вместе с задачей

Массив имеет фиксированную длину. Срез ссылается на последовательность и может получить новый backing array при добавлении элементов через append.

package main

import "fmt"

func main() {
	minutes := []int{20, 30, 25, 15, 40}
	total := 0
	for _, value := range minutes {
		total += value
	}
	minutes = append(minutes, 30)
	fmt.Println("итого:", total, "среднее:", total/5, "дней:", len(minutes))
}

Размер массива известен при объявлении. Срез подходит для меняющейся длины: append возвращает срез с новым элементом, и результат нужно присвоить обратно. Перебор через range даёт индекс и значение.

Практика

Попробуйте сами

В main.go создайте срез минут чтения [20, 30, 25, 15, 40]. Циклом найдите сумму и целочисленное среднее, затем добавьте 30 через append и выведите сумму, среднее и весь срез. Запустите go run main.go.

Проверка результата

Как понять, что получилось

До добавления сумма равна 130, среднее — 26; после добавления выводится срез [20 30 25 15 40 30] длиной 6. Сумма не меняется от добавленного значения, потому что рассчитана по первым пяти дням.

Массивы и срезы | Go | WebSchool · Go