Go 1.27 chega com métodos genéricos e encoding/json baseado na v2
Lançado em 19/8, o Go 1.27 permite métodos com parâmetros de tipo, reforça a biblioteca padrão e reduz o custo de alocações pequenas.
A equipe do Go liberou em 19 de agosto de 2026 a versão 1.27 da linguagem. O anúncio oficial e as notas de lançamento destacam três mudanças na especificação: métodos genéricos (uma declaração de método pode ter seus próprios parâmetros de tipo), chaves de literais de struct que podem ser qualquer seletor de campo válido, e inferência de tipos de funções genéricas em todos os contextos em que elas são atribuídas ou convertidas a um tipo de função compatível. A InfoWorld resume o lançamento e cita um post do blog do Go de 26 de agosto dedicado aos métodos genéricos. O ciclo de seis meses continua: a versão chega com poucas quebras e reforços no runtime e na biblioteca padrão.
Métodos genéricos
As notas descrevem a mudança como “amplamente antecipada”. Um exemplo citado é math/rand/v2, que agora declara o método genérico (*Rand) N. Há limites: interfaces não podem declarar parâmetros de tipo, e métodos genéricos não podem implementar métodos de interface. Na prática, a mudança permite colocar funções genéricas no namespace de um tipo concreto, em vez de só no pacote.
Biblioteca e desempenho
A biblioteca padrão ganha encoding/json/v2 e encoding/json/jsontext; o pacote encoding/json existente passa a ser respaldado pela implementação v2, com unmarshaling mais rápido e compatibilidade mantida. Também entram crypto/mldsa (assinaturas pós-quânticas ML-DSA / FIPS 204) em x509 e TLS, um pacote uuid, suporte experimental a SIMD e httptest.NewTestServer para testes com rede em memória. No runtime, a alocação especializada de objetos pequenos (<80 B) reduz o custo em até 30% e melhora em cerca de 1% programas intensivos em alocação, ao preço de binários cerca de 60 KB maiores; o perfil goroutineleak passa a ser estável. Quem precisar desligar a otimização pode usar GOEXPERIMENT=nosizespecializedmalloc (previsto para sair no 1.28).
- Ferramentas:
go fixrecebe novos modernizadores;go docaceitapkg@version;go mod tidyconsolida blocosrequireduplicados em módulos go 1.27+. - A promessa de compatibilidade do Go 1 é mantida.
- Para migrar: atualizar a toolchain, rodar os testes com a suíte completa e ficar atento a mudanças de comportamento em JSON se o código dependia de detalhes da implementação antiga do unmarshaling.
O Go 1.27 é um lançamento típico da série: poucas quebras, uma mudança de linguagem pedida há anos e reforços em criptografia e desempenho. A pauta havia sido descartada no lote A por impacto relativo menor; aqui ela volta com texto completo e fontes conferidas.
Fontes
- The Go Blog — Go 1.27 is released (19/08/2026)
- go.dev — Go 1.27 Release Notes (19/08/2026)
- InfoWorld — Go 1.27 brings support for generic methods (27/08/2026)
Imagem destacada: ilustração gerada por computador, sem valor documental.


