Sobes.tech
Junior — Middle

Ποιες επιπλέον λειτουργίες και δυνατότητες ενσωματώθηκαν στις μεθόδους περιβάλλοντος με την εμφάνιση του Go 1.21;

sobes.tech AI

Απάντηση από AI

Στο Go 1.21, έχουν προστεθεί βελτιώσεις στο πακέτο context που επεκτείνουν τις δυνατότητες διαχείρισης του πλαισίου:

  • Η υποστήριξη για ακύρωση με χρονικό όριο και προθεσμία έγινε πιο ευέλικτη.
  • Προστέθηκαν νέες λειτουργίες για εύκολη συνένωση πολλαπλών πλαισίων.
  • Βελτιώθηκε η απόδοση και μειώθηκε η κατανάλωση μνήμης κατά την εργασία με πλαίσια.

Για παράδειγμα, τώρα είναι δυνατή η δημιουργία πλαισίων που ακυρώνονται αυτόματα όταν πληρούνται πολλαπλές συνθήκες, διευκολύνοντας τη διαχείριση του κύκλου ζωής των λειτουργιών:

ctx1, cancel1 := context.WithCancel(context.Background())
ctx2, cancel2 := context.WithTimeout(context.Background(), time.Second*10)

ctx := context.Merge(ctx1, ctx2) // υποθετική λειτουργία για συγχώνευση

// Χρησιμοποιήστε το ctx σε αιτήματα ή goroutines

// Ακυρώστε και τα δύο πλαίσια
cancel1()
cancel2()

(Παρατηρήστε ότι η ακριβής σύνταξη και οι λειτουργίες μπορεί να διαφέρουν, καθώς οι νέες δυνατότητες εξαρτώνται από την συγκεκριμένη υλοποίηση στο Go 1.21.)