Sobes.tech
Junior — Middle

Vannak-e a Go-ban a nézeteknek olyan hosszúság és kapacitás módszerei, mint a szeleteknek?

sobes.tech MI

Válasz az MI-től

Go-ban a térképek (maps) nem rendelkeznek hosszúság és kapacitás metódusokkal, mint a szeletek (slices). A hosszúság lekérdezéséhez a beépített len() függvényt használjuk, amely visszaadja a térképben lévő elemek számát.

A szeleteknél a len() a jelenlegi hosszúságot adja, míg a cap() a kapacitást (a maximális méretet anélkül, hogy új memóriát foglalnánk). A térképeknél a cap() nem létezik, mivel dinamikusan növekednek az elemek hozzáadásával.

Példa:

m := make(map[string]int)

m["a"] = 1
fmt.Println(len(m)) // 1-et ír ki

s := make([]int, 0, 10)
fmt.Println(len(s)) // 0
fmt.Println(cap(s)) // 10