Sobes.tech
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() μόνο σε εξαιρετικές περιπτώσεις, όταν πραγματικά χρειάζεται να ελέγξετε τη στιγμή της συλλογής απορριμμάτων.