package main
import "fmt"
func main() {
s := []int{1, 2, 3}
t := s // t и s смотрят на один и тот же массив
u := append(s, 4)
s[0] = 99 // меняем через s
t = append(t, 5)
fmt.Println("s:", s)
fmt.Println("t:", t)
fmt.Println("u:", u)
}
Ответ:
s: [99 2 3]
t: [99 2 3 5]
u: [1 2 3 4]
Дополнительные Вопросы : Где именно произойдёт перераспределение массива, какие срезы продолжат делить общую память, а какие уже нет — в этом и фокус задачи
👉Запустить код - https://go.dev/play/p/M_JvkzNmVY9
@golangtests
