Junior — Middle
Jak je v softwaru prováděno vyhrazení paměti pro objekty?
sobes.tech AI
Odpověď od AI
V jazyce Go je alokace paměti pro objekty prováděna automaticky pomocí vestavěného sběrače odpadků.
Když vytvoříte objekt, například pomocí new nebo literálu struktury, paměť je přiřazena na haldě nebo na zásobníku v závislosti na analýze kompilátoru (escape analysis). Pokud objekt "unikne" za hranice funkce, je umístěn na haldě, aby se zachoval jeho životní cyklus.
Příklad alokace objektu:
type Person struct {
Name string
Age int
}
func main() {
p := &Person{Name: "Иван", Age: 30} // paměť je automaticky přiřazena
fmt.Println(p.Name)
}
Go automaticky spravuje paměť: uvolňuje nepoužívané objekty, což snižuje riziko úniků paměti a zjednodušuje vývoj.