Junior — Middle
Proqram təminatında obyektlər üçün yaddaş ayırma necə həyata keçirilir?
sobes.tech Süni İntellekt
AI-dan cavab
Go-da obyektlər üçün yaddaş avtomatik olaraq daxili çöp toplayıcı vasitəsilə ayrılır.
Obyekt yaradırsınızsa, məsələn, new və ya struktur literalindən istifadə edərək, yaddaş kompilatorun (escape analysis) analizinə əsasən yığın və ya yığın xaricində ayrılır. Əgər obyekt funksiyadan çıxarsa, onun həyat dövrünü saxlamaq üçün yığında yerləşdirilir.
Obyektin ayrılması nümunəsi:
type Person struct {
Name string
Age int
}
func main() {
p := &Person{Name: "Иван", Age: 30} // yaddaş avtomatik olaraq ayrılır
fmt.Println(p.Name)
}
Go yaddaşı avtomatik idarə edir: istifadə olunmayan obyektləri azad edir, bu da yaddaş sızmalarının qarşısını alır və inkişafı sadələşdirir.