Senior
Czym jest garbage collector w Go?
sobes.tech AI
Odpowiedź od AI
Garbage collector (GC) w Go to automatyczny mechanizm zarządzania pamięcią, który zwalnia nieużywane obiekty, aby zapobiec wyciekom pamięci. Go używa konkurencyjnego, wyzwalanego i o niskim opóźnieniu zbieracza śmieci, który działa równolegle z głównym wątkiem wykonawczym.
GC w Go śledzi obiekty, do których nie ma już odwołań, i zwalnia pamięć, którą zajmują. Pozwala to programistom nie martwić się o ręczne zarządzanie pamięcią, zmniejszając ryzyko błędów, takich jak podwójne zwolnienie czy wycieki.
Przykład:
package main
import "fmt"
func main() {
s := make([]int, 1000000) // przydziela duży fragment
fmt.Println(len(s))
// Po wyjściu z funkcji, s stanie się niedostępny i zostanie zebrany przez GC
}
Tutaj, po zakończeniu funkcji, pamięć zajmowana przez fragment zostanie automatycznie zwolniona przez zbieracz śmieci.