minhas informações de contato
Correspondência[email protected]
2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
A linguagem Go, também conhecida como Golang, é uma linguagem de programação de código aberto desenvolvida pelo Google. Ele foi projetado para fornecer velocidade de desenvolvimento eficiente, bom desempenho, sintaxe concisa e biblioteca padrão poderosa. A linguagem Go é particularmente adequada para a construção de sistemas distribuídos e arquiteturas de microsserviços em grande escala. Este artigo ajudará você a aprender a linguagem Go do zero, abordando sintaxe básica, recursos avançados, práticas recomendadas e aplicações práticas.
Veja o código-fonte do projeto na parte inferior
Primeiro, você precisa instalar o ambiente Go em seu computador. Visite o site oficial do Go (https://golang.org/dl/) Baixe o pacote de idiomas Go adequado ao seu sistema operacional e siga as instruções para instalá-lo.
Ir
versão escura
- 1package main
- 2
- 3import "fmt"
- 4
- 5func main() {
- 6 fmt.Println("Hello, World!")
- 7}
A linguagem Go fornece uma variedade de tipos de dados integrados, incluindo inteiros (int, int8, int16, int32, int64), tipos de ponto flutuante (float32, float64), booleano (bool), string (string), etc.
A linguagem Go suporta instruções if, loops for, instruções switch e instruções defer para controlar o fluxo do programa.
Funções são a unidade básica de execução da linguagem Go. As funções podem aceitar parâmetros e retornar resultados.
Ir
versão escura
- 1func add(x int, y int) int {
- 2 return x + y
- 3}
Ponteiros são usados na linguagem Go para manipular diretamente endereços de memória.usando*
e&
Operador, você pode obter o endereço de uma variável e o valor apontado pelo endereço.
Ir
versão escura
- 1func increment(p *int) {
- 2 *p++
- 3}
Uma interface em Go define um conjunto de métodos que um tipo deve implementar. As interfaces tornam o código mais flexível e reutilizável.
Ir
versão escura
- 1type Shape interface {
- 2 Area() float64
- 3}
- 4
- 5type Circle struct {
- 6 Radius float64
- 7}
- 8
- 9func (c Circle) Area() float64 {
- 10 return math.Pi * c.Radius * c.Radius
- 11}
A linguagem Go recomenda o uso de valores de retorno de erro para lidar com exceções.
Ir
versão escura
- 1func divide(x, y int) (int, error) {
- 2 if y == 0 {
- 3 return 0, errors.New("cannot divide by zero")
- 4 }
- 5 return x / y, nil
- 6}
O modelo de simultaneidade da linguagem Go é baseado em goroutines e canais leves. Goroutine é um thread de nível de usuário na linguagem Go, e o canal é usado para comunicação e sincronização entre goroutines.
Ir
versão escura
- 1func say(s string) {
- 2 for i := 0; i < 5; i++ {
- 3 fmt.Println(s)
- 4 }
- 5}
- 6
- 7func main() {
- 8 go say("world") // 开始一个新的goroutine
- 9 say("hello")
- 10}
O contexto é usado para passar sinais de cancelamento entre goroutines, permitindo ao programa encerrar normalmente goroutines de longa execução.
Ir
versão escura
- 1func main() {
- 2 ctx, cancel := context.WithCancel(context.Background())
- 3 go func() {
- 4 select {
- 5 case <-ctx.Done():
- 6 fmt.Println("operation canceled")
- 7 case <-time.After(time.Second * 3):
- 8 fmt.Println("operation completed")
- 9 }
- 10 }()
- 11 time.Sleep(time.Second)
- 12 cancel()
- 13}
A linguagem Go recomenda o uso de uma abordagem modular para organizar o código. Cada diretório representa um pacote e define um ou mais arquivos .go nele.
Sistema de módulo Go (go mod
) é usado para gerenciar dependências externas do projeto.usargo get
ego mod tidy
Comandos para adicionar e organizar dependências.
A linguagem Go possui uma estrutura de teste poderosa integrada, usetesting
pacote para escrever casos de teste.
Ir
versão escura
- 1import (
- 2 "testing"
- 3)
- 4
- 5func TestAdd(t *testing.T) {
- 6 tests := []struct {
- 7 x, y, want int
- 8 }{
- 9 {2, 2, 4},
- 10 {1, 3, 4},
- 11 {0, 0, 0},
- 12 }
- 13 for _, tt := range tests {
- 14 got := add(tt.x, tt.y)
- 15 if got != tt.want {
- 16 t.Errorf("add(%d, %d) = %d; want %d", tt.x, tt.y, got, tt.want)
- 17 }
- 18 }
- 19}
usargo build
Comando para construir o arquivo executável, usego install
Instale o projeto em$GOPATH/bin
diretório para facilitar chamadas do sistema.
A linguagem Go é amplamente utilizada em serviços de back-end, programação de rede, arquitetura de microsserviços, ferramentas DevOps, bancos de dados, middleware e outros cenários.
A natureza de alta simultaneidade da linguagem Go a torna a escolha ideal para a construção de microsserviços.
A biblioteca padrão da linguagem Go fornece uma rica API de programação de rede, incluindo servidor HTTP, cliente, WebSocket, TCP/IP, etc.
A linguagem Go possui velocidade de compilação rápida e forte portabilidade, e é adequada para o desenvolvimento de ferramentas DevOps, como orquestração de contêineres, integração contínua e ferramentas de implantação contínua.
A linguagem Go tornou-se gradualmente uma das principais linguagens para o desenvolvimento de software moderno, com sua sintaxe concisa, biblioteca padrão poderosa e modelo de simultaneidade eficiente. Ao estudar este artigo, você não apenas dominará o conhecimento básico da linguagem Go, mas também compreenderá seus recursos avançados e práticas recomendadas, estabelecendo uma base sólida para o desenvolvimento futuro da linguagem Go. Esteja você construindo serviços back-end de alto desempenho ou desenvolvendo sistemas distribuídos complexos, a linguagem Go será seu parceiro indispensável.
Endereço para download do código-fonte do projeto:https://download.csdn.net/download/qq_42072014/89531977