Sobes.tech
Junior — Middle

Lehetséges olyan helyzet, amikor a len változó kisebb hosszúságot mutat, mint a tömb vagy szelet tényleges mérete?

sobes.tech MI

Válasz az MI-től

Go nyelvben a len változó egy tömb vagy szelet esetén mindig a jelenlegi hosszúságot tükrözi, amit a beépített len() függvény ad vissza.

  • Egy tömb esetén a len mindig megegyezik a tömb méretével, és nem változik.
  • Egy szelet esetén a len megmutatja a szeletben lévő elemek számát, ami lehet kisebb vagy egyenlő a szelet kapacitásával.

Olyan helyzet, amikor a len kisebb a tömb tényleges méreténél, lehetetlen, mivel a tömb len értéke fix és megegyezik a méretével.

A szelet esetén a hossz lehet kisebb a kapacitásnál, de nem lehet nagyobb a ténylegesen elérhető elemek számánál index szerint.

Példa:

arr := [5]int{1,2,3,4,5}
fmt.Println(len(arr)) // 5

slice := arr[1:3]
fmt.Println(len(slice)) // 2
fmt.Println(cap(slice)) // 4

Itt a szelet hossza 2, míg a kapacitás 4. De a hossz nem lehet nagyobb a tényleges szeletméretnél.