Junior — Middle
Jaký systém automatického uvolňování paměti je implementován v jazyce Go?
sobes.tech AI
Odpověď od AI
V jazyce Go je implementován systém automatického řízení paměti pomocí garbage collectoru (sběrače odpadků). Go používá konkurenční, označovací a prohledávací (mark-and-sweep) sběrač odpadků, který pracuje paralelně s během programu a minimalizuje pauzy.
To umožňuje automaticky uvolňovat paměť zabranou nepoužívanými objekty, aniž by bylo nutné ruční řízení paměti, což zjednodušuje vývoj a snižuje pravděpodobnost chyb souvisejících s úniky paměti.
Příklad využití paměti v Go:
package main
import "fmt"
func main() {
s := make([]int, 0)
for i := 0; i < 1000000; i++ {
s = append(s, i)
}
fmt.Println("Délka řeziva:", len(s))
// Po opuštění funkce uvolní garbage collector paměť obsazenou řezivem
}