Junior — Middle
Hoe wordt het geheugen toegewezen voor objecten in de software?
sobes.tech AI
Antwoord van AI
In Go wordt geheugen voor objecten automatisch toegewezen met behulp van de ingebouwde garbage collector.
Wanneer je een object aanmaakt, bijvoorbeeld met new of een struct-literal, wordt het geheugen toegewezen op de heap of stack afhankelijk van de analyse van de compiler (escape analysis). Als een object buiten de functie wordt gebruikt, wordt het op de heap geplaatst om de levenscyclus te behouden.
Voorbeeld van objectallocatie:
type Person struct {
Name string
Age int
}
func main() {
p := &Person{Name: "Иван", Age: 30} // geheugen wordt automatisch toegewezen
fmt.Println(p.Name)
}
Go beheert het geheugen automatisch: het vrijmaakt ongebruikte objecten, wat het risico op geheugenlekken vermindert en de ontwikkeling vereenvoudigt.