Dopo sei mesi di sviluppo, è stata rilasciata la versione 1.26 del compilatore e della libreria standard del linguaggio di programmazione. Go.
Principali modifiche:
- La nuova funzione integrata, che crea una nuova variabile, consente di utilizzare come operando un'espressione che indica il valore iniziale della variabile. Un semplice esempio di tale 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 garbage collector sperimentale Green Tea è ora abilitato per impostazione predefinita.
- Le spese per CGO sono state ridotte di circa il 30%.
- Il compilatore può allocare memoria di riserva per le strutture Slice nello stack in un numero maggiore di situazioni, migliorando le prestazioni.
Strumenti:
- Il comando go fix è stato completamente riscritto utilizzando il framework analysis ora include diversi decine di "modernizzatori" che offrono correzioni sicure, aiutando il vostro codice a sfruttare le nuove funzionalità del linguaggio e della libreria standard.
Aggiunti supplementi sperimentali, disponibili solo con attivazione esplicita:
- Il pacchetto archsimd per accedere alle operazioni SIMD dipendenti dall'architettura. Attualmente è supportato solo AMD64.
- Il pacchetto segreto con funzioni ausiliarie per azzerare la memoria.
- Nella libreria di profiling pprof è stata aggiunta la supporto per l'opzione GOEXPERIMENT=goroutineleakprofile per rilevare le perdite di goroutine.
>>> Elenco completo delle modifiche
Fonte: linux.org.ru
