Sobes.tech
Senior

Какво е garbage collector в Go?

sobes.tech AI

Отговор от AI

Garbage collector (GC) в Go е автоматичен механизъм за управление на паметта, който освобождава неизползваните обекти, за да предотврати течове на памет. Go използва конкурентен, задействащ се и с ниска латентност събирач на боклук, който работи паралелно с основния поток.

GC в Go следи обектите, към които вече няма препратки, и освобождава заетата от тях памет. Това позволява на разработчиците да не се тревожат за ръчно управление на паметта, като намалява вероятността от грешки като двойно освобождаване или течове.

Пример:

package main

import "fmt"

func main() {
    s := make([]int, 1000000) // заделя голям срез
    fmt.Println(len(s))
    // След изхода от функцията, s става недостъпен и ще бъде събран от GC
}

Тук, след приключване на функцията, паметта, заета от среза, ще бъде автоматично освободена от събирача на боклук.