Junior — Middle
Ar Go vaizdai turi tokius pat ilgumo ir talpos metodus kaip ir slices?
sobes.tech AI
Atsakymas iš AI
Go kalba, žemėlapiai (maps) neturi ilgio ir talpos metodų kaip slices. Vietoje metodų ilgiui gauti naudojama įmontuota funkcija len(), kuri grąžina elementų skaičių žemėlapyje.
Slicing'ams galima naudoti len() dabartiniam ilgiui ir cap() talpai (maksimalus dydis be naujo atminties paskirstymo). Žemėlapiuose cap() nėra, nes jie dinamiškai auga pridedant elementus.
Pavyzdys:
m := make(map[string]int)
m["a"] = 1
fmt.Println(len(m)) // rodo 1
s := make([]int, 0, 10)
fmt.Println(len(s)) // 0
fmt.Println(cap(s)) // 10