Packages e Imports em Golang? (com exemplo)
Isaque Véras de Oliveira
Desenvolvedor backend
Olá pessoal, ontem eu falei como criar o primeiro "Olá, mundo!" utilizando a linguagem Golang e teve muitos assuntos nos comentários sobre packages
e imports
. Agradeço demais a comunidade que fizeram as perguntas e ao pessoal que responderam, muito obrigado!!
Hoje eu irei explicar o que são os packages e imports, para o que eles servem e mostrarei um exemplo de como podemos utilizar essa parte tão poderosa da linguagem Go.
Packages
Os pacotes é uma das poderosas ferramentas que temos na linguagem Go, com ela podemos modular pacotes com métodos, funções, variáveis, constantes, estruturas (struct).
Pacotes serve para declarar onde determinados métodos e funções estão agrupados, na linguagem Go, cada pacote é definido com um nome diferente e esse nome está próximo de sua funcionalidade como o pacote “strings” e contém métodos e funções que se relacionam apenas com strings.
Imports
Essa ferramenta é tão poderosa quanto os packages, pois utilizamos em todos os arquivos para importar pacotes e biblioteca da comunidade para utilizarmos no nosso código, assim como o nodejs utiliza o require("path") para importar o pacote path
, utilizamos o mesmo conceito para importar pacotes e biblioteca.
Mão na massa!
Estrutura do projeto
.
├── go.mod
├── main.go
└── ping
└── ping.go
Inicializando o modulo
No nome do nosso modulo podemos colocar uma url ou qualquer frase sem espaços entre as palavras. Esse nome servirá para determinar onde o pacote está "hospedado". Para gerenciar pacotes com Go, utilizamos o arquivo go.mod
(mesmo conceito do package.json) que é gerado com o seguite comando:
go mod init tabnews.com.br
Declarando um novo pacote
No arquivo ping/ping.go
declaramos o nome do pacote que nossos métodos e funções serão utilizados em outros pacotes. Nesse pacote temos uma função que retorna "pong" no terminal.
package ping
import "fmt"
func Pong() {
fmt.Println("Pong!")
}
Importar o pacote ping
No arquivo main.go
iremos importar do pacote que criamos no exemplo anterior a função Pong, para isso temos que está em outro pacote, nesse caso irei importar no pacote main
.
package main
import "tabnews.com.br/ping"
func main() {
ping.Pong()
}
Inicializando o programa
No terminal basta executar o seguinte comando para inicializar nosso programa.
go run main.go
Teremos uma resposta no terminal da seguinte forma:
Pong!
Próximo artigo!
Como estou falando sobre pacotes e importação, amanhã falarei sobre como criar variáveis, constantes e funções internas e exportáveis com o Go.
Agradeço demais se esse artigo te ajudou a esclarecer o conceito de pacotes e importação com Go, qualquer duvida ou correções deixem nos comentários.