Junior — Middle
Mit jelent a capacity tulajdonság egy slice esetében Go-ban, ha nem adja meg kifejezetten a létrehozásakor?
sobes.tech MI
Válasz az MI-től
Go-ban a szelet egy olyan szerkezet, amely egy mutatót tartalmaz egy tömbre, egy hosszúságot (len) és egy kapacitást (capacity).
Ha a szelet létrehozásakor a kapacitást nem adják meg kifejezetten, akkor az a szelet hosszával lesz egyenlő. A kapacitás megmutatja, hogy hány elemet tud a szelet tárolni anélkül, hogy új memóriát foglalnánk.
Például:
s := make([]int, 3) // len=3, cap=3
Itt a kapacitás 3, mivel nem adták meg külön.
Ha a kapacitás nagyobb, mint a hossz, a szelet bővíthető a kapacitásig anélkül, hogy új tömböt foglalnánk.