3.0Kпросмотров
38.0%от подписчиков
9 января 2026 г.
question📷 ФотоScore: 3.3K
👣 Что выведет программа построчно? package main import "fmt" func main() { s := make([]int, 2, 3) s[0], s[1] = 1, 2 a := s[:2] b := append(s, 3) modify(a) modify(b) fmt.Println(s) fmt.Println(a) fmt.Println(b)
} func modify(x []int) { x = append(x, 100) x[0] = 999
} - Какие append используют тот же underlying array, а какие нет? - В какой момент происходит реаллокация памяти? Подсказка: s, a и b сначала делят один backing array, но не все изменения доходят до всех слайсов. Ответ: [999 2]
[999 2]
[999 2 100] 📌 Запустить код: https://go.dev/play/p/wVRz6QFmMCv