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

Поведение срезов при использовании append в Go

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

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

package main

import "fmt"

func main() {
    var sliceA []int
    var sliceB []int

    sliceA = append(sliceA, 1)
    sliceA = append(sliceA, 2)
    sliceA = append(sliceA, 3)
    sliceB = append(sliceA, 4)
    sliceA = append(sliceA, 5)

    fmt.Println(sliceA, sliceB) // ?
}