Назад к вопросам
JuniorТеорияЧасто
Что выведет программа?
package main
import "fmt"
func main() {
a := []int{10, 20, 30, 40}
b := a[1:2:2]
b = append(b, 5)
b[0] = 1
fmt.Println(a, b)
}[10 20 30 40] [1 5]
- Ждать
[10 1 5 40]вa: третий индекс ограничивает ёмкостьbединицей, поэтомуappendкопируетbв новый массив и не трогаетa. - Ждать, что
b[0] = 1изменитa: после того какappendперенёсbв новый массив, общих элементов у срезов больше нет.
- Что напечатает программа, если написать
b := a[1:2]? - Когда функции стоит отдавать
s[i:j:j], а неs[i:j]?