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