Назад к задачамПолучайте помощь с лайвкодингом в реальном времени с Sobes Copilot
Junior — Senior
6
Исследование поведения slice и функции append
Условие задачи
Определите, какой вывод получит программа в каждом месте вызова Println, учитывая детали работы функции append, срезов и их ёмкости.
package main
import "fmt"
func main() {
slice := make([]string, 0, 5)
slice = append(slice, "0")
slice = append(slice, "1")
slice = append(slice, "2")
slice = append(slice, "3")
fmt.Println(slice, len(slice), cap(slice)) // ?
addToSlice1(slice)
fmt.Println(slice, len(slice), cap(slice)) // ?
addToSlice2(slice)
fmt.Println(slice, len(slice), cap(slice)) // ?
}
func addToSlice1(slice []string) {
slice = append(slice[:1:1], "one")
}
func addToSlice2(slice []string) {
slice = append(slice, "two")
}