DIA 2: PACKAGES — 3 dias de DETOX com GO

Começando o segundo dia de DETOX com GO, falando dos objetos que levam as pessoas à loucura, ao ver o caminhão dos correios na frente da porta… Pacotes! Pois adulto não gosta mais de esperar o papai noel, a gente gosta é de esperar aquele pacote da Amazon que ficou no navio por 3 meses, não é mesmo?! Isso sim, é felicidade plena!

Pois bem, um motivo pleno e feliz para você que ainda não se convenceu em codar em GO, são os PACOTES (Packages).

Imagina um mundo em que seus blocos de código fossem que nem peças de lego, e você pudesse utilizá-los para construir não apenas um determinado produto, mas sim uma infinidade deles. Pois bem! Os pacotes em Go podem ser vistos, de uma forma muito simplificada, dessa forma!

Packages são porções unitárias de código já compilado,com um nome dado à ele, que por convenção, irá possibilitar e orientar um nível de acesso indireto aos identificadores que serão declarados, similar ao que vemos no namespace.

Ok, e o que eu ganho com isso? Você pode estar se perguntando…

Bom, além de poder brincar de lego, essa convenção dos nomes tanto do blocão (que você acha que parece um castelo) de lego (pasta em que está o arquivo de código/diretório) como em cada peça (pacote) que constitui ele, permitirá distinguir identificadores declarados com o mesmo nome em diferentes pacotes que você importar!!!
OMG OMG OMG!!! Eu sei!!!! Isso não é sensacional??? Pensa no DETOX de não ter mais que ficar criando e inúmeros nomes diferentes para os seus identificadores! A vida pode ser simples com GO, te poupando tempo de coisas chatas para você trabalhar mais no copo de cerveja, ops… quero dizer, no código, com certeza!

Para a galera que só passa o olho o texto, deixo aqui no rodapé, um RESUMÃO:

Todos os programas em Go, são organizados em Packages ou Pacotes e isso foi pensado de propósito, para que esse bloco de código possa ser utilizado em outros projetos como partes reutilizáveis. Isso cria a necessidade de declarar em todos os arquivos .go, o pacote à que eles pertencem na primeira linha do arquivo. E a simplificação vem de que em um Diretório, todos os arquivos pertencentes à ele, declaram o mesmo nome do pacote, fazendo assim, tudo ficar mais limpo e organizado.

Existem apenas duas regras que precisam ser respeitadas:

  1. Em um mesmo diretório, não podem coexistir vários pacotes
  2. Não se pode dividir um pacote em vários diretórios.

Ou seja: Não pode querer colocar dois bonequinhos na mesma, e única peça de lego, no topo do castelo… e também não pode quebrar a peça de lego em pedacinhos menores, para ter mais!!! Certo?!