Como baixar e usar o Go 1.2
Go é uma popular linguagem de programação de código aberto que facilita a criação de software simples, confiável e eficiente. Possui uma sintaxe concisa e expressiva, poderosos recursos de simultaneidade e um rico conjunto de bibliotecas padrão. Go é usado por muitas empresas e projetos, como Google, Docker, Kubernetes e GitHub.
Neste artigo, você aprenderá como baixar e instalar o Go 1.2, a versão estável mais recente do Go em junho de 2023. Você também aprenderá como usar alguns dos novos recursos e melhorias que o Go 1.2 oferece, como fatias de três índices, preempção no agendador e inspeção de erros.
download go 1.2
Como baixar e instalar Go 1.2
Antes de começar a usar o Go 1.2, você precisa baixá-lo e instalá-lo em seu computador. Aqui estão os passos que você precisa seguir:
Pré-requisitos e plataformas compatíveis
Para instalar o Go 1.2, você precisa de um computador que atenda aos seguintes requisitos:
Um sistema operacional compatível: Linux, Mac OS X, Windows, FreeBSD, NetBSD, OpenBSD, Plan 9 ou Solaris.
Um conjunto de instruções compatível: amd64, 386, arm64, armv6l, mips64(le), ppc64(le), riscv64, s390x ou wasm.
Um compilador C (opcional): gcc ou clang para suporte cgo.
Um cliente Git (opcional): para buscar código de repositórios remotos.
Você pode verificar a lista completa de combinações suportadas .
Opções de download e instruções
Você tem várias opções para baixar o Go 1.2:
Você pode baixar uma versão binária adequada para o seu sistema a partir do . As versões binárias incluem o compilador Go, ferramentas e bibliotecas padrão.
Você pode baixar o código-fonte do . O código-fonte inclui tudo nas versões binárias, além de testes e ferramentas adicionais.
Você pode instalar o Go a partir da fonte seguindo o . Esta opção requer uma instalação Go funcional ou um compilador C.
Para este artigo, usaremos a primeira opção e baixaremos uma versão binária para Linux amd64. As etapas podem variar um pouco dependendo do seu sistema e preferências.
Vou ao e encontre o link para o seu sistema. Para Linux amd64, o link é go1.20.4.linux-amd64.tar.gz.
Clique no link para baixar o arquivo para o seu computador.
Abra uma janela de terminal e navegue até o diretório onde você baixou o arquivo.
Remova qualquer instalação anterior do Go excluindo o /usr/local/go pasta (se existir).
Extraia o arquivo compactado em /usr/local, criando uma nova árvore Go em /usr/local/go. Pode ser necessário executar o comando como root ou através do sudo.
$ rm -rf /usr/local/go && tar -C /usr/local -xzf go1.20.4.linux-amd64.tar.gz
Adicionar /usr/local/go/bin para a variável de ambiente PATH. Você pode fazer isso adicionando a seguinte linha ao seu $HOME/.profile ou /etc/profile (para uma instalação em todo o sistema).
export PATH=$PATH:/usr/local/go/bin Verifique a instalação e execute um programa simples
Para verificar se o Go 1.2 está instalado corretamente, você pode executar o seguinte comando em seu terminal:
$ go version go version go1.20.4 linux/amd64
Você deve ver a saída mostrando a versão e a plataforma da sua instalação do Go.
Para executar um programa Go simples, você pode criar um arquivo chamado olá. vá em seu diretório pessoal com o seguinte conteúdo:
package main import "fmt" func main() fmt.Println("Olá, mundo!")
Este programa imprime "Olá, mundo!" para a saída padrão. Para executá-lo, você pode usar o vá correr comando:
$ vá correr hello.go Olá, mundo!
Você deve ver a saída mostrando a mensagem do programa.
Parabéns! Você baixou e instalou com sucesso o Go 1.2 e executou seu primeiro programa Go.
Como usar os recursos do Go 1.2
O Go 1.2 apresenta alguns novos recursos e melhorias que tornam o Go mais expressivo, eficiente e robusto.Nesta seção, exploraremos alguns desses recursos e como usá-los em seu código.
Fatias de três índices
Uma fatia é uma exibição flexível e dinâmica de uma matriz ou outra fatia. Ele tem um comprimento, que é o número de elementos que contém, e uma capacidade, que é o número de elementos na matriz ou fatia subjacente.
No Go 1.2, você pode usar uma expressão de fatia de três índices para criar uma fatia com uma capacidade especificada. A sintaxe é a[baixo:alto:max], onde a é uma matriz ou uma fatia, baixo é o índice do primeiro elemento a incluir, alto é o índice do primeiro elemento a ser excluído, e máximo é o índice do primeiro elemento a excluir da capacidade.
Por exemplo, suponha que você tenha uma matriz de 10 inteiros:
var arr [10]int = [10]int0, 1, 2, 3, 4, 5, 6, 7, 8, 9
Você pode criar uma fatia dos primeiros cinco elementos com uma capacidade de sete usando uma expressão de fatia de três índices:
s := arr[0:5:7] fmt.Println(s) // [0 1 2 3 4] fmt.Println(len(s)) // 5 fmt.Println(cap(s)) // 7
Esse recurso permite que você controle a alocação de memória e o desempenho de suas fatias com mais precisão.
Preempção no Agendador
O Go oferece suporte à simultaneidade por meio de goroutines, que são threads leves gerenciados pelo tempo de execução do Go. O agendador Go é responsável por multiplexar goroutines em threads do sistema operacional e alternar entre eles quando necessário.
No Go 1.2, o escalonador implementa preempção, o que significa que uma goroutine pode ser interrompida e ceder sua execução a outra goroutine se for executada por muito tempo ou for bloqueada em uma chamada do sistema. Isso melhora a capacidade de resposta e a imparcialidade do agendador e evita que goroutines vinculadas à CPU deixem outras goroutines sem alimentação.
Você não precisa fazer nada de especial para usar esse recurso, pois ele é ativado por padrão. No entanto, você pode ajustar alguns parâmetros relacionados à preempção usando variáveis de ambiente:
GODEBUG=asyncpreemptoff=1: desativa a preempção assíncrona.
GODEBUG=preemptoff=1: desativa todas as preempções.
GOMAXPROCS=n: define o número máximo de threads do sistema operacional que podem executar o código Go no nível do usuário simultaneamente.
GOGC=n: define a porcentagem de destino da coleta de lixo inicial.
Inspeção de erro
O tratamento de erros é um aspecto importante da programação em Go. Um erro é um valor que implementa o erro interface, que possui um único método: String de erro(). Você pode usar a função integrada erros.Novo() para criar um valor de erro simples com uma determinada mensagem.
Inspeção de erro
No Go 1.2, você pode usar duas novas funções no para inspecionar erros mais facilmente: errors.Is(err, target error) bool e errors.As(erro de erro, interface de destino) bool.
O erros. A função verifica se um erro é igual a um determinado erro de destino. Ele faz isso comparando os valores de erro diretamente ou desempacotando-os se eles implementarem o Erro de desembrulhar () método. Por exemplo, suponha que você tenha um tipo de erro personalizado que envolva outro erro:
type MyError struct Msg string Err error func (e *MyError) Error() string return e.Msg + ": " + e.Err.Error() func (e *MyError) Unwrap() error return e.Err
Você pode usar o erros. função para verificar se uma instância de MeuErro contém um erro específico:
var ErrNotFound = errors.New("não encontrado") func main() err := &MyError"algo deu errado", ErrNotFound fmt.Println(errors.Is(err, ErrNotFound)) // true
O erros. Como A função verifica se um erro pode ser atribuído a um determinado tipo de destino. Ele faz isso usando asserções de tipo ou desempacotando o erro se implementar o Erro de desembrulhar () método. Por exemplo, suponha que você tenha outro tipo de erro personalizado que envolve um *os.PathError:
type FileError struct Op string Err *os.PathError func (e *FileError) Error() string return e.Op + ": " + e.Err.Error() func (e *FileError) Erro Unwrap() return e.Err
Você pode usar o erros. Como função para verificar se uma instância de Erro de arquivo contém um *os.PathError:
func main() err := &FileError"open", &os.PathError"file.txt", "open", os.ErrNotExist var perr *os.PathError fmt.Println(errors.As(err, &perr)) // verdadeiro fmt.Println(perr.Path) // file.txt
O erros. e erros. Como funções são úteis para lidar com diferentes tipos de erros de forma consistente e flexível.
Conclusão
Neste artigo, você aprendeu como baixar e instalar o Go 1.2, a versão estável mais recente do Go em junho de 2023. Você também aprendeu a usar alguns dos novos recursos e melhorias que o Go 1.2 oferece, como fatias de três índices, preempção no agendador e inspeção de erros.
Se quiser saber mais sobre o Go 1.2, você pode conferir os seguintes recursos:
O , que fornecem uma visão geral detalhada de todas as alterações e aprimoramentos no Go 1.2.
O , que contém a referência oficial e os tutoriais do Go.
O , que apresenta artigos e anúncios da equipe e da comunidade Go.
O , que permite executar e compartilhar o código Go online.
O , que é um lugar para fazer perguntas e discutir tópicos do Go com outros desenvolvedores.
Esperamos que você tenha gostado deste artigo e o tenha achado útil. Se você tiver algum comentário ou sugestão, informe-nos nos comentários abaixo. Codificação feliz!
perguntas frequentes
P: Como faço para atualizar minha instalação Go existente para Go 1.2?
R: Você pode seguir as mesmas etapas para instalar o Go 1.2 do zero, mas certifique-se de remover qualquer instalação anterior do Go primeiro. Como alternativa, você pode usar uma ferramenta como , que permite gerenciar várias versões do Go em seu sistema.
P: Como verifico se meu código é compatível com Go 1.2?
R: Você pode usar o .
P: Quais são alguns dos benefícios de usar o Go para programação?
R: Go é uma linguagem de programação rápida, simples e confiável que oferece muitos benefícios, como:
Possui uma sintaxe clara e consistente, fácil de ler e escrever.
Possui suporte integrado para simultaneidade e paralelismo, o que o torna ideal para aplicativos escaláveis e distribuídos.
Possui um rico conjunto de bibliotecas padrão que cobrem uma ampla gama de domínios e funcionalidades.
Possui uma poderosa cadeia de ferramentas que simplifica o processo de desenvolvimento e implantação.
Possui uma comunidade vibrante e amigável que contribui para o crescimento e aprimoramento do idioma.
P: Como aprendo mais sobre a programação em Go?
R: Há muitos recursos disponíveis online para ajudá-lo a aprender mais sobre a programação Go, como:
O , que é uma introdução interativa aos fundamentos do Go.
O , que é um guia para escrever código Go claro e idiomático.
O , que é uma coleção de exemplos anotados que demonstram vários aspectos do Go.
O , que é uma lista com curadoria de incríveis estruturas, bibliotecas e recursos Go.
O , que responde a algumas das perguntas mais frequentes sobre o Go.
P: Como faço para me envolver na comunidade Go?
R: Há muitas maneiras de se envolver na comunidade Go, como:
Juntando-se ao , onde você pode fazer perguntas, compartilhar ideias e discutir tópicos do Go com outros desenvolvedores.
participando do , onde você pode revisar e contribuir para o desenvolvimento do próprio Go.
Assistir ou organizar uma , onde você pode conhecer e interagir com outros entusiastas do Go em sua área.
Acompanhar ou contribuir para o , onde você pode ler e escrever artigos sobre Go.
Acompanhar ou contribuir para o , onde você pode encontrar e compartilhar informações úteis sobre o Go.
0517a86e26
Comments