Grow with AppMaster Grow with AppMaster.
Become our partner arrow ico

Go 1.18 lançado oficialmente com recursos genéricos inovadores

Go 1.18 lançado oficialmente com recursos genéricos inovadores

A tão esperada linguagem de programação Go 1.18 finalmente foi lançada como uma versão de produção, apresentando seus recursos genéricos inovadores. Isso marca a mudança mais significativa na linguagem de programação Go desde o lançamento inicial do Go 1.0 em 2012. O Go 1.18 pode ser baixado em go.dev a partir de 15 de março.

Generics tem sido o recurso mais solicitado pelos programadores Go, oferecendo suporte para código genérico usando tipos parametrizados. Os lançamentos subsequentes estão programados para fornecer mais suporte para casos de uso genéricos mais complexos. Os usuários podem acessar informações sobre esse recurso por meio de um tutorial genérico e notas de versão .

O servidor de linguagem Go, gopls, junto com a extensão Visual Studio Code Go, agora oferece suporte a genéricos. Para obter instruções sobre como instalar gopls com genéricos, consulte a documentação.

A versão de produção Go 1.18 segue seus estágios beta e candidato a lançamento. O lançamento inicial havia sido antecipado para fevereiro de 2022, mas foi adiado até meados de março. O Go 1.18 Beta 1, que estreou em 14 de dezembro, foi a versão prévia mais importante da linguagem de código aberto desenvolvida pelo Google para oferecer suporte a código genérico usando tipos parametrizados. Esta versão beta também foi a versão beta do Go mais baixada de todos os tempos, com o dobro de downloads de qualquer versão beta anterior.

A programação genérica é um aprimoramento que permite a representação de funções e estruturas de dados de forma genérica com os tipos sendo fatorados. Isso facilita o compartilhamento de código e simplifica a construção de programas.

A equipe Go aconselhou cautela ao abordar os novos recursos genéricos, pois novos bugs podem surgir com qualquer novo recurso significativo. Além disso, o suporte para casos sutis específicos, como certos tipos de tipos genéricos recursivos, foi adiado para versões futuras.

Apesar desse aviso, os primeiros usuários ficaram satisfeitos com o novo recurso. Um breve tutorial sobre como começar com genéricos foi publicado aqui . Embora o Go tivesse tipos de interface, uma forma de programação genérica, faltavam certos aspectos que os desenvolvedores Go queriam dos genéricos, conforme relatado em uma postagem no blog de julho de 2019. Por exemplo, os proponentes dos genéricos Go buscavam funções como Reverse sem se preocupar com o tipo de elemento de uma fatia.

As notas lançadas para o Go 1.18 também destacam seus outros recursos principais, como:

  • Suporte integrado para escrever testes baseados em fuzzing para identificar entradas que causam a falha de um programa ou retornam respostas inválidas. Esse recurso é experimental no Go 1.18.
  • Um modo de espaço de trabalho Go que permite aos desenvolvedores trabalhar com vários módulos Go simultaneamente, essencial para projetos mais extensos.
  • Um comando go version -m aprimorado que agora registra detalhes de compilação, como sinalizadores de compilador.
  • Uma variável de ambiente GOAMD64 que permite aos usuários escolher entre quatro versões da arquitetura AMD64.
  • Melhorias no desempenho da CPU no Apple M1, ARM64 e PowerPC64 em até 20%, atribuíveis à expansão da convenção de chamada ABI do registro Go 1.17 para essas arquiteturas.
  • As portas Windows/Arm e Windows/Arm64 agora oferecem suporte à preempção não cooperativa, tornando esse recurso disponível para todas as quatro portas Windows e potencialmente abordando bugs sutis encontrados ao chamar funções Win32 que bloqueiam por períodos prolongados.
  • Sobrecarga de coleta de lixo mais previsível quando as fontes não heap do trabalho de GC são significativas, devido à inclusão dessas fontes ao determinar a frequência das execuções da coleta de lixo.

O Go 1.17 foi lançado em agosto. Go é mais conhecido por seu uso no desenvolvimento do sistema de contêiner Docker e foi projetado para ser uma linguagem de programação simples e fácil de aprender com suporte robusto para simultaneidade. Para desenvolvedores que desejam explorar soluções no-code, como a plataforma da AppMaster, para criar aplicativos web, móveis e de back-end, ele pode ajudar a acelerar o desenvolvimento de aplicativos e reduzir custos enquanto elimina a dívida técnica.

Posts relacionados

AppMaster na BubbleCon 2024: Explorando tendências sem código
AppMaster na BubbleCon 2024: Explorando tendências sem código
A AppMaster participou da BubbleCon 2024 em Nova York, obtendo insights, expandindo redes e explorando oportunidades para impulsionar a inovação no espaço de desenvolvimento sem código.
Resumo do FFDC 2024: Principais insights da conferência de desenvolvedores do FlutterFlow em Nova York
Resumo do FFDC 2024: Principais insights da conferência de desenvolvedores do FlutterFlow em Nova York
O FFDC 2024 iluminou a cidade de Nova York, trazendo aos desenvolvedores insights de ponta sobre desenvolvimento de aplicativos com o FlutterFlow. Com sessões lideradas por especialistas, atualizações exclusivas e networking incomparável, foi um evento imperdível!
Demissões na área de tecnologia em 2024: a onda contínua que afeta a inovação
Demissões na área de tecnologia em 2024: a onda contínua que afeta a inovação
Com 60.000 empregos cortados em 254 empresas, incluindo gigantes como Tesla e Amazon, 2024 verá uma onda contínua de demissões no setor de tecnologia remodelando o cenário da inovação.
Comece gratuitamente
Inspirado para tentar isso sozinho?

A melhor maneira de entender o poder do AppMaster é ver por si mesmo. Faça seu próprio aplicativo em minutos com assinatura gratuita

Dê vida às suas ideias