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