Назад к задачам
Junior — Senior
4

Исследование вывода при работе с append и общими ёмкостями срезов

Получайте помощь с лайвкодингом в реальном времени с Sobes Copilot
Условие задачи

Необходимо предсказать, какие значения напечатаются программой, использующей срезы и функцию append, а также дать объяснение полученного вывода, учитывая совместное использование единой ёмкости и особенности поведения срезов в Go.

package main

import (
  "fmt"
)

func main() {
  s1 := make([]int, 0, 10)
  s1 = append(s1, []int{1, 2, 3, 4, 5}...)
  s2 := append(s1, 6)
  s3 := append(s1, 7)

  fmt.Println(s1, s2, s3)
}