Após meio ano de desenvolvimento, foi lançado o compilador 1.26 e a biblioteca padrão da linguagem de programação. Go.
Principais mudanças:
- A nova função embutida que cria uma nova variável permite usar uma expressão que indica o valor inicial da variável como operando. Um exemplo simples dessa alteração é o código semelhante a este:
x := int64(300) ptr := &x
Pode ser simplificado para:
ptr := new(int64(300)) - Tipos genéricos podem referenciar a si mesmos em sua própria lista de parâmetros de tipo. Essa mudança simplifica a implementação de estruturas de dados complexas e interfaces.
Melhoria de desempenho:
- O coletor de lixo experimental Green Tea agora está ativado por padrão.
- As sobrecargas em CGO foram reduzidas em cerca de 30%.
- O compilador pode alocar memória de reserva para estruturas Slice na pilha em mais situações, o que melhora o desempenho.
Ferramentas:
- O comando go fix foi completamente reescrito usando o framework analysis e agora inclui várias dezenas de "modernizadores" que oferecem correções seguras, ajudando seu código a aproveitar os novos recursos da linguagem e da biblioteca padrão.
Adições experimentais foram adicionadas, disponíveis apenas quando ativadas explicitamente:
- Pacote archsimd para acesso a operações SIMD dependentes de arquitetura. No momento, apenas AMD64 é suportado.
- Pacote secret com funções auxiliares para zerar a memória.
- No pacote de perfilamento pprof foi adicionada a opção GOEXPERIMENT=goroutineleakprofile para detectar vazamentos de goroutines.
>>> Lista completa de alterações
Fonte: linux.org.ru
