Выведет 4. cap(s2) = cap(s) - low = 5 - 1 = 4. Slice s2 начинается с индекса 1 underlying array и имеет доступ до конца capacity. Это значит append(s2, ...) может перезаписать s[2], s[3], s[4]. Для ограничения: s2 := s[1:2:2] — full slice expression, cap будет 1. Это защищает от случайной перезаписи.
Что выведет: s := make([]int, 0, 5); s = append(s, 1,2,3); s2 := s[1:2]; fmt.Println(cap(s2))?
Middle
103 просмотровAFK Offer AI
Как реализовать search service на Go?