Junior — Middle
How is memory allocated for objects in software?
sobes.tech AI
Answer from AI
In Go, memory allocation for objects occurs automatically using the built-in garbage collector.
When you create an object, for example, using new or a struct literal, memory is allocated on the heap or stack depending on the compiler analysis (escape analysis). If an object "escapes" the function, it is placed on the heap to preserve its lifecycle.
Example of object allocation:
type Person struct {
Name string
Age int
}
func main() {
p := &Person{Name: "Ivan", Age: 30} // memory is allocated automatically
fmt.Println(p.Name)
}
Go manages memory automatically: it frees unused objects, reducing the risk of memory leaks and simplifying development.