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
}
Тук, след приключване на функцията, паметта, заета от среза, ще бъде автоматично освободена от събирача на боклук.