Назад к задачамПолучайте помощь с лайвкодингом в реальном времени с Sobes Copilot
Junior — Senior
6
Как сохранить исходный слайс без изменений при использовании append
Компании, где спрашивали:
Lamoda Tech
Условие задачи
Необходимо обеспечить, чтобы параметр src в функции foo не модифицировал оригинальный слайс arr, несмотря на вызов append.
package main
import "fmt"
func foo(src []int) {
src = append(src, 5)
}
func main() {
arr := []int{1, 2, 3} // len 3, cap 3
src := append([]int(nil), arr[:1]...) // len 1, cap 1 — скопировать слайс
foo(src)
fmt.Println(src) // 1
fmt.Println(arr) // 1 2 3
}