Sobes.tech
Junior — Middle

Hogyan befolyásolja egy kis vagy nagy méretű szelet (slice) átadása egy függvénynek a teljesítményt és a memóriahasználatot?

sobes.tech MI

Válasz az MI-től

Go-ban a szelet egy olyan struktúra, amely egy mutatót tartalmaz egy tömbre, egy hosszúságot és egy kapacitást. Amikor egy szeletet átadunk egy függvénynek, pontosan ezt a struktúrát (körülbelül 24 bájt) másoljuk, nem az egész tömböt.

  • Kis szeletek (néhány elem) esetén a struktúra másolása szinte nem befolyásolja a teljesítményt.
  • Nagy szeletek esetén csak a struktúra másolódik, nem az összes adat, így a memória- és időráfordítás minimális.

Így a szelet átadása hatékony a mérettől függetlenül, mivel az adatok nem másolódnak, hanem egy hivatkozás kerül átadásra a tömbre.