Go Fix: A Revolução na Modernização de Código com Inlining Inteligente

O Go 1.26 introduziu uma nova implementação do comando `go fix`, projetada para auxiliar na atualização e modernização do código Go. Uma das...

O Go 1.26 introduziu uma nova implementação do comando go fix, projetada para auxiliar na atualização e modernização do código Go. Uma das funcionalidades mais notáveis é o “source-level inliner”, que permite a autores de pacotes expressarem migrações e atualizações de API de forma simples e segura. Este resumo detalha o funcionamento do inliner, seus casos de uso e a tecnologia por trás dele.

O Que é Source-Level Inlining?

O inlining, em geral, é uma técnica de otimização de compiladores que substitui uma chamada de função pelo corpo da função chamada, substituindo os argumentos pelos parâmetros. O “source-level inlining” faz isso diretamente no código fonte, modificando-o de forma duradoura. Isso difere do inlining tradicional feito pelo compilador, que opera em representações intermediárias e é descartado após a compilação.

Ler mais →

**Go Acelera: Alocação na Stack para um Desempenho Imbatível**

O artigo do blog oficial do Go discute otimizações recentes no compilador Go para reduzir alocações na heap, substituindo-as por alocações na stack....

O artigo do blog oficial do Go discute otimizações recentes no compilador Go para reduzir alocações na heap, substituindo-as por alocações na stack. Alocações na stack são significativamente mais rápidas e não sobrecarregam o garbage collector, resultando em programas mais eficientes em termos de tempo de execução e uso de memória. O artigo explora diferentes cenários e as melhorias introduzidas em versões recentes do Go (1.25 e 1.26) para otimizar a alocação de slices.

Ler mais →

Go Fix: Modernizando seu Código Go Automaticamente

O artigo do blog oficial do Go discute a nova versão do `go fix`, introduzida no Go 1.26, e como essa ferramenta pode ser usada para modernizar...

O artigo do blog oficial do Go discute a nova versão do go fix, introduzida no Go 1.26, e como essa ferramenta pode ser usada para modernizar automaticamente o código Go, aproveitando os recursos mais recentes da linguagem e da biblioteca padrão. O artigo também aborda a infraestrutura por trás do go fix e como ela está evoluindo, além de apresentar o conceito de ferramentas de análise “self-service” para ajudar os mantenedores de módulos e organizações a codificar suas próprias diretrizes e boas práticas.

Ler mais →

Go 1.26 Chegou: Novidades e Melhorias que Você Precisa Conhecer!

Go 1.26 traz Green Tea GC como padrao, go fix para modernizar codigo automaticamente, melhorias no linker e novas APIs. Resumo completo em portugues.

A equipe Go tem o prazer de anunciar o lançamento do Go 1.26, uma versão que traz refinamentos na linguagem, ganhos de performance significativos e melhorias nas ferramentas. Este resumo detalha as principais mudanças e adições, oferecendo uma visão geral do que esperar desta nova versão.

Mudanças na Linguagem

O Go 1.26 introduz duas mudanças notáveis na sintaxe e no sistema de tipos:

  • Inicialização Simplificada com new: A função built-in new agora aceita uma expressão como operando, permitindo especificar o valor inicial da variável criada. Isso simplifica o código, eliminando a necessidade de declarar a variável e depois atribuir um valor a ela.

    Ler mais →

Go em 2025: Um Retrato da Satisfação, Desafios e o Crescente Papel da IA

Resultados da pesquisa Go 2025 com 5.379 devs: 93% satisfeitos, IA em alta, desafios com error handling e documentacao. Veja os dados completos.

O artigo apresenta os resultados da pesquisa de 2025 com desenvolvedores Go, revelando insights importantes sobre o estado da linguagem, seus desafios e a crescente adoção de ferramentas de IA. A pesquisa, que contou com a participação de 5.379 desenvolvedores, destaca a alta satisfação com Go, a necessidade de melhores práticas e documentação, e o impacto da IA no desenvolvimento.

Demografia dos Respondentes

A maioria dos participantes se identificou como desenvolvedores profissionais (87%) que usam Go em seus trabalhos principais (82%). Uma grande parcela também utiliza Go em projetos pessoais ou open-source (72%). A faixa etária predominante é entre 25 e 45 anos (68%), com pelo menos seis anos de experiência profissional em desenvolvimento (75%). Um dado interessante é que 81% dos respondentes possuem mais experiência profissional em desenvolvimento do que experiência específica com Go, o que sugere que Go geralmente não é a primeira linguagem que aprendem. Isso cria um atrito quando a forma de realizar uma tarefa em Go é muito diferente de linguagens mais familiares, forçando os desenvolvedores a aprenderem e lembrarem de padrões idiomáticos específicos de Go.

Ler mais →

Go Chega à Maioridade: 16 Anos de Inovação e Amadurecimento

Go completa 16 anos com generics maduros, Green Tea GC, FIPS 140-3 nativo e GOMAXPROCS container-aware. Retrospectiva das versoes 1.24 e 1.25.

O artigo do blog oficial do Go celebra o 16º aniversário do lançamento do Go como projeto de código aberto, destacando as principais novidades e avanços implementados nas versões Go 1.24 e Go 1.25, além de vislumbrar o futuro da linguagem no contexto da inteligência artificial generativa. O texto aborda melhorias no núcleo da linguagem e nas bibliotecas padrão, avanços na segurança do software, otimizações internas e o aprimoramento do ecossistema de ferramentas de desenvolvimento.

Ler mais →

Go 1.25 e o Coletor de Lixo "Chá Verde": Uma Nova Abordagem para Performance

O Green Tea GC do Go 1.25 reduz ate 40% do tempo de garbage collection. Saiba como ativar com GOEXPERIMENT=greenteagc e os resultados em producao no Google.

O Go 1.25 introduziu um novo coletor de lixo (garbage collector - GC) experimental, apelidado de “Green Tea” (Chá Verde), que promete melhorias significativas na performance de diversas aplicações. Ativado através da flag GOEXPERIMENT=greenteagc durante a compilação, o Green Tea GC já demonstra reduções de até 40% no tempo gasto com coleta de lixo em alguns cenários, com uma média de 10% de melhora. O coletor já está em uso no Google, o que indica sua prontidão para produção. A equipe Go incentiva a comunidade a testá-lo e reportar resultados, positivos ou negativos, para ajudar a aprimorar a implementação. A expectativa é que o Green Tea se torne o coletor de lixo padrão no Go 1.26.

Ler mais →

Desvendando Gargalos com o Gravador de Voo do Go: Diagnóstico Preciso de Problemas de Performance

Flight Recorder no Go 1.25: capture traces de execucao seletivos para diagnosticar gargalos de performance em servidores Go de longa duracao.

O artigo do blog oficial do Go introduz o “gravador de voo” (flight recorder), uma nova ferramenta de diagnóstico disponível a partir do Go 1.25, que permite capturar traces de execução (execution traces) de forma seletiva, focando em momentos críticos do programa. Ele complementa os execution traces já existentes, oferecendo uma abordagem mais direcionada para identificar e resolver problemas de performance em aplicações Go de longa duração, como servidores web.

Ler mais →

Sua Voz Molda o Futuro do Go: Participe da Pesquisa Anual de Desenvolvedores!

Pesquisa anual Go 2025: compartilhe suas experiencias e ajude a moldar o futuro da linguagem Go. Participe da survey oficial do Go Team.

O Go Team convida a comunidade global de desenvolvedores Go a participar da pesquisa anual de desenvolvedores Go de 2025. Esta pesquisa é uma oportunidade crucial para os desenvolvedores compartilharem suas experiências, necessidades e preocupações com a linguagem Go, ajudando a equipe Go a priorizar e planejar o futuro da linguagem.

A Importância da Sua Participação

A pesquisa anual de desenvolvedores Go é uma ferramenta fundamental para a equipe Go entender como a linguagem está sendo usada no mundo real e quais áreas precisam de melhorias. Os resultados da pesquisa influenciam diretamente as decisões sobre o desenvolvimento futuro da linguagem, incluindo novos recursos, otimizações e melhorias na documentação e nas ferramentas.

Ler mais →

Go JSON Evolui: Uma Nova API Experimental para o Futuro

Nova API experimental encoding/json/v2 em Go resolve problemas de 15 anos do pacote JSON original. Conheça as melhorias de comportamento, API e performance.

O artigo do blog oficial do Go anuncia o lançamento de uma nova API experimental para JSON, presente nos pacotes encoding/json/v2 e encoding/json/jsontext, com o objetivo de abordar as limitações e problemas existentes no pacote encoding/json (denominado v1 neste contexto). Após quase 15 anos desde a introdução do suporte a JSON em Go, e com o JSON se tornando o formato de dados mais popular na internet, a equipe de desenvolvimento do Go reconheceu a necessidade de evoluir o pacote padrão para atender às demandas modernas e corrigir falhas identificadas ao longo do tempo.

Ler mais →

Testando o Tempo: Simplificando Testes Assíncronos em Go

O pacote testing/synctest do Go 1.25 simplifica testes de codigo assincrono e concorrente. Aprenda a testar goroutines, channels e timers facilmente.

O artigo do blog oficial do Go discute a importância e os desafios de testar código assíncrono, introduzindo o pacote testing/synctest, que agora está disponível para uso geral desde o Go 1.25, após um período como pacote experimental no Go 1.24. O pacote visa simplificar significativamente a escrita de testes para código concorrente e assíncrono.

O que é uma Função Assíncrona?

O artigo começa definindo a diferença entre funções síncronas e assíncronas. Uma função síncrona executa uma ação e retorna um resultado imediatamente, enquanto uma função assíncrona retorna imediatamente após ser chamada, executando a ação em segundo plano, em algum momento no futuro. Um exemplo simples é a função Cleanup que remove um diretório de cache de forma síncrona, em contraste com CleanupInBackground, que executa a remoção em uma goroutine separada.

Ler mais →

Go e Containers: Uma Nova Inteligência para GOMAXPROCS

Go 1.25 torna GOMAXPROCS container-aware: detecta limites de CPU em Kubernetes e Docker automaticamente, eliminando throttling e melhorando latencia.

O Go 1.25 traz uma mudança importante na forma como a linguagem lida com ambientes de containers, com um novo comportamento padrão para a variável GOMAXPROCS. Essa atualização visa otimizar o desempenho de aplicações Go em containers, evitando o “throttling” (estrangulamento) que pode impactar a latência e melhorando a “production-readiness” da linguagem.

Entendendo o GOMAXPROCS

O Go oferece um modelo de concorrência poderoso e fácil de usar através das goroutines. Goroutines são semelhantes a threads do sistema operacional, mas muito mais leves, permitindo a criação e destruição sob demanda sem grande impacto no desempenho.

Ler mais →

Go 1.25 Chegou: O Que Há de Novo?

Go 1.25 traz GOMAXPROCS container-aware, Green Tea GC experimental com 10-40% menos overhead, nova diretiva ignore no go.mod e melhorias no vet.

A equipe Go tem o prazer de anunciar o lançamento do Go 1.25. Esta versão traz melhorias significativas nas ferramentas, no runtime, no compilador, no linker e na biblioteca padrão, além de introduzir um novo pacote. Algumas adições estão em fase experimental e requerem ativação explícita para serem utilizadas.

Melhorias e Novidades do Go 1.25

O Go 1.25 apresenta uma série de aprimoramentos em diversos componentes da linguagem. Vamos explorar as principais áreas de foco:

Ler mais →

Go Simplifica a Conformidade com FIPS 140-3: Segurança e Facilidade para Ambientes Regulamentados

Modulo Criptografico Go FIPS 140-3 nativo: conformidade simplificada com seguranca integrada na stdlib desde Go 1.24. Certificado CAVP A6650.

O artigo do blog oficial do Go anuncia a disponibilidade do Módulo Criptográfico Go FIPS 140-3, integrado nativamente à biblioteca padrão e à ferramenta go. Essa novidade visa simplificar a conformidade com o padrão FIPS 140, um requisito comum em ambientes regulamentados que adotam cada vez mais a linguagem Go. Anteriormente, a conformidade com FIPS 140 era um obstáculo significativo para os usuários de Go, exigindo soluções não suportadas com problemas de segurança, experiência do desenvolvedor, funcionalidade, velocidade de lançamento e conformidade.

Ler mais →