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.)