Dopo sei mesi di sviluppo è stata rilasciata la versione 1.26 del compilatore e della libreria standard del linguaggio di programmazione Go.
Variazioni principali:
- Una nuova funzione incorporata che crea una nuova variabile consente di utilizzare un'espressione che indica il valore iniziale della variabile come operando. Un semplice esempio di questa modifica è un codice simile a questo:
x := int64(300) ptr := &x
Può essere semplificato in:
ptr := new(int64(300)) - I tipi generici possono riferirsi a se stessi nella propria lista di parametri di tipo. Questa modifica semplifica l'implementazione di strutture dati complesse e interfacce.
Miglioramento delle prestazioni:
- Il raccoglitore di rifiuti sperimentale Green Tea è ora abilitato per impostazione predefinita.
- Sovraccarico su CGO è stato ridotto di circa il 30%.
- Il compilatore può allocare memoria di riserva per le strutture Slice nello stack in un numero maggiore di situazioni, migliorando così le prestazioni.
Strumenti:
- Il comando go fix è stato completamente riscritto utilizzando il framework analysis e ora include diverse decine di "modernizzatori" che offrono correzioni sicure, aiutando il tuo codice a sfruttare i nuovi vantaggi del linguaggio e della libreria standard.
Sono state aggiunte estensioni sperimentali disponibili solo se esplicitamente attivate:
- Pacchetto archsimd per accesso alle operazioni SIMD dipendenti dall'architettura. Al momento è supportato solo AMD64.
- Pacchetto secret con funzioni ausiliarie per azzerare la memoria.
- Nel pacchetto di profilazione pprof è stato aggiunto il supporto per l'opzione GOEXPERIMENT=goroutineleakprofile per rilevare le perdite di goroutine.
>>> Elenco completo delle modifiche
Fonte: linux.org.ru
