Tudo sobre a pasta internal

Embora não haja uma obrigatoriedade em como organizar projetos Go, um recurso pouco explorado – pelo menos da maneira correta -, é a utilização da pasta internal .

A pasta internal é um recurso poderoso que permite organizar e encapsular código que não deve ser utilizado por outros packages. Em outras palavras, ela é perfeita para armazenar funções auxiliares, estruturas de dados, domínio e outros detalhes de implementação.

Como funciona

De forma simples, quando o compilador Go encontra uma pasta internal, ele a trata como um package separado e não exporta nenhum dos seus símbolos para fora do package ao qual ela pertence. Isso significa que qualquer código na pasta internal só pode ser acessado por outros arquivos dentro do mesmo package “principal”.

Leia mais »

Diretórios e packages especiais

No post de hoje vamos falar um pouco sobre nomes reservados para packages e pastas.

Main

Package main é o principal package de um programa Go. É nesse package que vamos colocar nossa função main, que é a primeira função a ser executada.

package main

import "fmt"

func main() {
    fmt.Println("Olá Mundo!")
}

O package main só deve existir em programas executáveis, ou seja, caso você esteja fazendo uma lib, esse package não deve existir.

Leia mais »