Junior — Middle
Баштапкыда инициализацияланбаган болсо, бир элемент кошулгандан кийин слайс кандай көлөмдө жана канча элементке ээ болот?
sobes.tech AI
AIден жооп
Эгер Go-деги слайс баштапкыда инициализацияланбаса (ягъни, nil тигез булса), һәм сез аңа append функциясе белән бер элемент өстәсәгез, ул вакытта:
- Өстәгәннән соң элементлар саны (len) 1 булачак.
- Капаситет (cap) куллануның тормышка ашырылуына бәйле, ләкин гадәттә ул кечкенә капаситет белән башлана, мәсәлән 1 яки 2.
Мисал:
var s []int // nil-слайс
s = append(s, 10)
fmt.Println(len(s)) // 1
fmt.Println(cap(s)) // гадәттә >= 1
Шулай итеп, nil-слайска беренче элемент өстәгәндә, Go автомат рәвештә яңа слайс өчен хәтер бүлеп бирә, бу элементны саклау өчен җитәрлек капаситет белән.