Executando verificação de segurança...
6

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.

Carregando publicação patrocinada...
1

Muito bom! Eu gostaria de saber mais sobre a divisão das pastas em um projeto golang. Seguindo boas praticas, como deveria ser dividido um projeto utilizando golang como microserviço?