Sobes.tech
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
}