Выведет [1 2 4]. s2 делит underlying array с s. append(s2, 4) не вызывает рост потому что cap(s2) == 3, есть место. Элемент 4 записывается в s[2]. Это side effect reslice — модификация через один slice влияет на другой. Фикс: s2 := append([]int{}, s[:2]...) — создать независимую копию.
Что выведет: s := []int{1,2,3}; s2 := s[:2]; s2 = append(s2, 4); fmt.Println(s)?
Middle
168 просмотровAFK Offer AI
Как работает compress/gzip?