Дан такой код, который по итогу выдаёт len = 5, cap 6.
Если удалить строку где добавляется цифра 1 - len = 4, cap = 4
Если удалить строку где добавляется цифра 0 - len = 4, cap = 4
Последняя строка добавляет 3 цифры 2,3 и 4 - len = 5, cap = 6 (если всё как есть оставить)
Почему так? Если логика сложения предыдущих элементов, то должно быть как-то так? - [] + [0] + [1] +[2 3 4] и это даёт 6?
package main
import "fmt"
func main() {
var s []int
printSlice(s)
// append works on nil slices.
//s = append(s, 0)
printSlice(s)
// The slice grows as needed.
s = append(s, 1)
printSlice(s)
// We can add more than one element at a time.
s = append(s, 2, 3, 4)
printSlice(s)
}
func printSlice(s []int) {
fmt.Printf("len=%d cap=%d %v\n", len(s), cap(s), s)
}