Sobes.tech
Junior — Middle

Šta znači svojstvo capacity kod slice-a u Go, ako pri njegovom kreiranju nije eksplicitno navedeno?

sobes.tech АИ

Одговор од АИ

U Go, slice je struktura koja sadrži pokazivač na niz, dužinu (len) i kapacitet (capacity).

Ako prilikom kreiranja slice-a kapacitet nije eksplicitno naveden, on se postavlja na istu vrednost kao i dužina slice-a. Kapacitet pokazuje koliko elemenata slice može da sadržava bez alokacije nove memorije.

Na primer:

s := make([]int, 3) // len=3, cap=3

Ovde je kapacitet 3, jer nije naveden posebno.

Ako je kapacitet veći od dužine, slice se može proširiti do kapaciteta bez alokacije novog niza.