🚩 NOTA: É importante entender que o ambiente de desenvolvimento é necessário estar configurado para os próximos passos.  

1. Inicializando o projeto

Para inicializarmos o nosso primeiro em Go, basta criar uma pasta e dentro dela em seu terminal, executar o comando:

$ go mod init hello-world

Uma vez feito isso, um arquivo de chamado go.mod irá aparecer na pasta do projeto, esse arquivo é responsável por gerenciar a versão do Go utilizada no projeto, assim como as suas dependências (Falaremos sobre isso em outros tópicos).

Crie um arquivo chamado main.go na raiz do projeto, e cole o trecho de código abaixo.

package main

import "fmt"

// A função main é o ponto de entrada de um aplicação Go.
// O pacote também precisa ser definido como main,
// para que possamos "buildar" ou executar a aplicação.
func main() {
	// O pacote fmt é responável pela formatação,
	// porém também podemos utilizá-lo para ler
	// e escrever dados para  o terminal.
	fmt.Println("Qual o seu nome?")

	// Variáveis  em Go, podem ser declaradas
	// seguindo o padrão: palavra-chave + identificador + tipo
	var name string

	// Scanf é responsável por ler o input do terminal
	// e atribuir ela a variável acima, o uso do &(ponteiro),
	// será abordado em outros artigos.
	fmt.Scanf("%s", &name)

	fmt.Println("Olá", name)
}

Podemos executar a aplicação de duas maneira, a primeira é compilando o código e executando o seu binário e a segunda é utilizando o Go para executar o código.

1.1 Compilando e executando

Para compilar o código, precisamos executar o comando:

# [build] Responsável por compilar o nosso código.
# [-o] Será o nosso "output", ou seja o nosso arquivo de saída.
# [.] Estamos indicando que o arquivo de entrada está no mesmo nível de pasta que o nosso.
$ go build -o app . 

Agora com o código compilado, podemos executar o mesmo pelo terminal, a saída será parecida com essa:

$ Qual o seu nome?
Alexandre
$ Olá Alexandre

1.2 Executando com o comando go run

# [run] Inicializa a nossa aplicação sem a necessidade de compilar e executar o binário.
# [.] Estamos indicando que o arquivo de entrada está no mesmo nível de pasta que o nosso.
$ go run . 

A saída do código deverá corresponder a saída acima. A única coisa que mudou foi a forma como rodamos a nossa aplicação.

signature