Junior — Middle
Kas notiks ar sēkļa garumu un ietilpību, ja tajā pievienosim 10 elementus, kad tas sākotnēji ir tukšs?
sobes.tech AI
Atbilde no AI
Ja jums irīss saraksts Go valodā (garums un ietilpība ir 0), un jūs pievienojat tajā 10 elementus, izmantojot append funkciju, tad:
- Saraksta garums kļūs 10 — pievienoto elementu skaits.
- Saraksta ietilpība automātiski palielināsies, parasti ar rezervi, lai izvairītos no biežām atmiņas pārdalēm. Precīza ietilpība ir atkarīga no īstenošanas, bet bieži tā būs 16 vai vairāk, lai varētu uzņemt jaunus elementus un būtu rezervēts nākotnes pievienošanai.
Piemērs:
var s []int // tukšs saraksts
s = append(s, make([]int, 10)...) // pievienojam 10 elementus
fmt.Println(len(s)) // 10
fmt.Println(cap(s)) // >=10, parasti 16 vai 20
Tādējādi ietilpība dinamiski palielinās, efektīvi pārvaldot atmiņu, kad saraksts aug.