Junior — Middle
Программалык камсыздоодо объекттер үчүн эс тутумду бөлүштүрүү кандай жүргүзүлөт?
sobes.tech AI
AIден жооп
Go тилинде объекттер үчүн эс тутум автоматтык түрдө ички калдык жыйнагы аркылуу бөлүнөт.
Сиз объект түзгөндө, мисалы, new же структуранын литералы аркылуу, эс тутум компилятордун (escape analysis) анализине жараша heapке же stackке бөлүнөт. Эгер объект функциядан чыгып кетсе, анын жашоо циклин сактоо үчүн heapке жайгаштырылат.
Объект бөлүштүрүүнүн мисалы:
type Person struct {
Name string
Age int
}
func main() {
p := &Person{Name: "Иван", Age: 30} // эс тутум автоматтык түрдө бөлүнөт
fmt.Println(p.Name)
}
Go автоматтык түрдө эс тутумду башкарат: колдонулбай калган объекттерди бошотуп, бул эс тутум агып кетүү коркунучун азайтат жана өнүктүрүүнү жеңилдетет.