Sobes.tech
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