Middle+
Μπορείτε να καλέσετε ρητά την καθαριότητα της μνήμης στο Go;
sobes.tech AI
Απάντηση από AI
Στα Go, μπορείς να καλέσεις ρητά τον συλλέκτη απορριμμάτων χρησιμοποιώντας τη λειτουργία runtime.GC(). Αυτό ξεκινάει αναγκαστικά τη διαδικασία συλλογής απορριμμάτων, αλλά συνήθως στις πραγματικές εφαρμογές δεν συνιστάται να το κάνεις συχνά, καθώς το Go διαχειρίζεται αποτελεσματικά τη μνήμη από μόνο του.
Παράδειγμα:
package main
import (
"fmt"
"runtime"
)
func main() {
var m runtime.MemStats
runtime.ReadMemStats(&m)
fmt.Printf("Πριν από GC: %d bytes\n", m.Alloc)
runtime.GC() // αναγκαστική κλήση του συλλέκτη απορριμμάτων
runtime.ReadMemStats(&m)
fmt.Printf("Μετά από GC: %d bytes\n", m.Alloc)
}
Χρησιμοποιήστε το runtime.GC() μόνο σε εξαιρετικές περιπτώσεις, όταν πραγματικά χρειάζεται να ελέγξετε τη στιγμή της συλλογής απορριμμάτων.