#2 GoSchool: Estrutura Básica

Guilherme Caruso
Gommunity
Published in
3 min readNov 12, 2018

Bem vindo ao tutorial de número #2 do GoSchool!

Caso você tenha perdido, aqui está o primeiro tutorial:

Vamos entender como funciona a estrutura básica de código da linguagem GO.

Obs: Os exemplos aqui apresentados podem ser escritos e executados em qualquer sistema operacional e editor de texto.

Criando o projeto

Por padrão, a criação de projetos deve ocorrer dentro da pasta src definida em nosso GOPATH. Mais pra frente entrarei em detalhes sobre a estrutura de importação e utilização de bibliotecas.

Nesse primeiro momento, utilize a seguinte sequência de códigos:

$ cd $GOPATH 
$ cd src/
$ mkdir github.com
$ cd github.com/
$ mkdir <Seu usuario GIT>
$ cd <Seu usuario GIT>
$ mkdir <Nome do seu Projeto>

Criada a pasta do seu projeto, agora podemos abri-la com um editor de texto para que possamos iniciar nosso tutorial.

  • Estrutura do projeto

Vamos utilizar a seguinte estrutura de pastas para esse tutorial.

<Nome do seu Projeto>
|
└── main.go

Crie ou utilize o comando abaixo dentro da pasta do seu projeto.

$ touch main.go
  • Entendendo o arquivo main.go

Dentro de seus requisitos, GO solicita que qualquer programa tenha sua função principal declarada. Em outras palavras, tudo que acontece deve e irá partir de uma função “main” de seu código.

Como o foco desse segundo tutorial não são declarações e tipos da linguagem, irei abordar o assunto de forma direta, porém, nos próximos tutoriais trarei mais detalhes a respeito disso.

  • Uma função em GO é declarada da seguinte forma
func <nomeDaFuncao>() {
//<TODO>
}

Sendo assim, para que possamos declarar uma função main dentro de nosso arquivo main.go devemos escreve-la da seguinte forma:

func main() {
//<TODO>
}

Agora, toda e qualquer ação do nosso sistema irá ser chamado a partir dessa função.

- “Só isso?”

- “Posso rodar meu código?”

Estamos quase lá, mas ainda é necessário preparar um pouco mais o nosso terreno para que GO possa rodar sem nenhum problema, mostrando todo o seu potêncial.

Assim como nossa função principal, precisamos declarar também nosso pacote principal pois sem ele a mágica não acontece.

Para declararmos o pacote principal, dentro do arquivo main.go definimos na parte inicial do arquivo o seguinte código:

package main

Dessa forma, nosso código até o momento está assim:

package mainfunc main() {
//<TODO>
}

Bem, até aqui já verificamos os dois principais requisitos para qualquer desenvolvimento GO.

  • Criação da função “main”;
  • Definição do pacote principal.

O detalhe final para qualquer programa GO rodar sem nenhum problema são as suas importações. Elas definem e disponibilizam funções para utilizarmos dentro do nosso sitema.

  • Entendendo Imports

GO conta com uma série de funções já estabelecidas em seu core, podendo ser acessado e estudado a qualquer momento em sua documentação oficial AQUI!

Por se tratarem de pacotes nativos da linguagem, qualquer utilização de suas funções será de forma automática reconhecida pelo compilador da linguagem.

Vamos parar de enrolar!

Um dos primeiros passos de qualquer linguagem é o famoso “Hello World”, sendo assim, para que seja possível printar uma mensagem no console quando o programa for executado, devemos utilizar o seguinte pacote:

O pacote responsável por formatar qualquer entrada ou saida de informação deve ser importado dentro do nosso arquivo main.go, para que suas funções sejam disponibilizadas.

Para importarmos uma biblioteca nativa da linguagem, devemos declará-la da seguinte forma:

import "fmt"

Vale lembrar que ela deve ser escrita abaixo da declaração do pacote e acima da função, deixando o código da seguinte forma:

package mainimport "fmt"func main() {
//<TODO>
}

- “Mas onde está o meu Hello World?”

  • Ao utilizarmos o pacote fmt, uma das funções disponibilizadas é o Println (abreviação de Print line), que permite a “impressão” de um texto no console. Com isso:
package main import "fmt"func main() {    fmt.Println("Hello World")}
  • Agora se acessarmos o local de nosso arquivo main.go e rodarmos o comando abaixo, teremos como resposta o nosso querido e amado “Hello World”:
$ go run main.go
//Hello World

Conclusão

Enfim, com nosso Hello World em mãos podemos estudar tipos e conceitos da linguagem.

Nesse tutorial vimos:

  • Criação da função “main”;
  • Definição do pacote principal;
  • Importação de pacotes nativos

Nos vemos no próximo tutorial!

--

--

Guilherme Caruso
Gommunity

Software Engineer | Gopher | Writer’s Padawan | INTP-T