Sobes.tech
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 автоматтык түрдө эс тутумду башкарат: колдонулбай калган объекттерди бошотуп, бул эс тутум агып кетүү коркунучун азайтат жана өнүктүрүүнү жеңилдетет.