Guia para Iniciantes em Programação Go

GolangBeginner
Pratique Agora

Introdução

Neste laboratório, começaremos oficialmente a aprender a programação em Go. Abordaremos conceitos básicos e completaremos um programa Go simples por conta própria.

Pontos de Conhecimento:

  • Declaração de saída padrão
  • Estrutura do código
  • Executando um programa
  • Funções comuns no pacote fmt

💡 Primeiro Programa em Go

Vamos começar criando nosso primeiro programa Go. Clique com o botão direito na barra lateral para criar um novo arquivo chamado helloWorld.go na pasta do seu projeto.

Image Description

Nota: Recomendamos o uso do WebIDE (semelhante ao VS Code) para uma melhor experiência. Saiba mais sobre o Guia de Uso do WebIDE aqui.

Você também pode criar um novo arquivo usando o comando touch:

touch helloWorld.go

Agora, abra o arquivo e escreva o seguinte código:

package main

import "fmt"

func main() {
    fmt.Println("hello, world")
}

A primeira linha, package main, indica que este programa pertence ao pacote main. A segunda linha, import "fmt", importa o pacote fmt do Go, que nos permite formatar a entrada e saída de texto. A função main é onde o programa inicia a execução, e dentro dela, fmt.Println("hello, world") imprimirá hello, world no terminal.

Para executar o programa, abra o terminal e digite o seguinte comando:

go run helloWorld.go

Se tudo estiver configurado corretamente, você deverá ver a saída:

hello, world

Este é um simples programa "Hello World". Agora, vamos explicar o código e as operações linha por linha.

Estrutura e Sintaxe do Programa

Em Go, um pacote é a unidade básica de gerenciamento de código. Todo programa Go começa com uma declaração package. Neste caso, package main informa ao Go que o código faz parte do programa principal que será executado.

A instrução import "fmt" importa o pacote fmt do Go, que é usado para entrada e saída. Go possui uma rica biblioteca padrão, que nos permite realizar muitas tarefas com facilidade. O pacote fmt é usado para formatar a saída de texto, como vimos no passo anterior.

Em seguida, definimos a função main:

func main() {
}

Em Go, todas as funções devem começar com func. Observe que a chave de abertura { é colocada no final da linha. Esta é uma convenção do Go, e é diferente de outras linguagens de programação que podem colocar a chave de abertura em uma nova linha.

Se você colocar incorretamente a chave de abertura em uma nova linha, assim:

func main()
{
}

Você receberá um erro de compilação:

$ go run helloWorld.go
### command-line-arguments
./helloWorld.go:7:1: syntax error: unexpected semicolon or newline before {

Isso ocorre porque o Go espera que a chave de abertura esteja diretamente na mesma linha.

A instrução chave no programa é fmt.Println("hello, world"), que chama a função Println do pacote fmt para imprimir a string "hello, world" no console. Esta função adiciona automaticamente um caractere de nova linha no final da string.

Executando o Programa

Go é uma linguagem compilada, mas quando usamos o comando go run, o Go primeiro compila o código-fonte e, em seguida, executa o executável resultante. Portanto, o comando:

go run helloWorld.go

é equivalente a executar estes dois comandos:

## Compile o programa
go build helloWorld.go

## Execute o programa compilado
./helloWorld

Para experimentar um novo exemplo, vamos modificar o programa para cumprimentar outros Gophers. Crie um novo arquivo chamado helloGopher.go e substitua o código por:

Você pode criar um novo arquivo usando o comando touch:

touch helloGopher.go
package main

import "fmt"

func main() {
 fmt.Println("hello Gopher.")
 fmt.Println("hello Gopher.")
 fmt.Println("hello Gopher.")
}

Agora, em vez de usar go run, usaremos go build para compilar o programa e, em seguida, executaremos o executável gerado:

## Compile o programa
go build helloGopher.go

## Execute o executável compilado
./helloGopher

Isso produzirá a saída:

hello Gopher.
hello Gopher.
hello Gopher.

Funções Comuns no Pacote fmt

No Passo 1, usamos a função Println() do pacote fmt para imprimir a saída. O pacote fmt é um dos pacotes mais comumente usados em Go e oferece várias funções para formatar a saída.

Aqui estão três funções de saída comuns:

  1. fmt.Print() – Imprime o texto sem uma nova linha.
  2. fmt.Println() – Imprime o texto com uma nova linha.
  3. fmt.Printf() – Imprime texto formatado.

Vamos explorar essas funções com mais detalhes. Crie um novo arquivo chamado fmt.go e insira o seguinte código:

package main

import "fmt"

func main() {
    // Saída padrão
    fmt.Print("hello")
    fmt.Print("world")

    // Println adiciona um caractere de nova linha após a saída padrão
    fmt.Println()
    fmt.Println("labex")

    // Printf fornece saída formatada
    fmt.Printf("%s\n", "London")
}

Execute o programa usando o comando go run:

go run fmt.go

Explicação:

  • fmt.Print("hello") e fmt.Print("world") imprimem texto na mesma linha porque Print não adiciona uma nova linha.
  • fmt.Println() imprime uma nova linha para separar as linhas.
  • fmt.Printf("%s\n", "London") formata a saída usando o marcador de posição %s para a string "London".

Aqui está uma comparação rápida das funções:

Função Saída Padrão Quebra de Linha Saída Formatada
Print × ×
Println ×
Printf × ×

O pacote fmt também fornece outras funções para ler entrada, tratamento de erros e muito mais, que serão abordadas em exercícios posteriores.

Resumo

Neste laboratório, escrevemos nosso primeiro programa em Go, aprendemos sobre a estrutura dos programas em Go e exploramos as funções básicas do pacote fmt para saída. Também praticamos a execução de programas em Go e aprendemos a diferença entre Print, Println e Printf. Agora você deve ter uma compreensão básica da sintaxe Go e da execução de programas.