Junior — Middle
Majú pohľady v Go podobné metódy dĺžky a kapacity ako slices?
sobes.tech AI
Odpoveď od AI
V Go, mapy (maps) nemajú metódy na dĺžku a kapacitu ako slices. Namiesto metód na získanie dĺžky sa používa vstavaná funkcia len(), ktorá vracia počet prvkov v mape.
Pre slices je možné použiť len() pre aktuálnu dĺžku a cap() pre kapacitu (maximálna veľkosť bez alokácie novej pamäte). U máp cap() neexistuje, pretože rastú dynamicky pridávaním prvkov.
Príklad:
m := make(map[string]int)
m["a"] = 1
fmt.Println(len(m)) // vypíše 1
s := make([]int, 0, 10)
fmt.Println(len(s)) // 0
fmt.Println(cap(s)) // 10