DEV Community

Higor Diego
Higor Diego

Posted on

Workspaces em Golang

Alt Text

Em complemento ao artigo anterior referente a instalação do Golang , teremos que entender agora o conceito de Go Workspace, pois no momento da instalação o golang irá definir o local no qual o código ficará!

Por convenção, todo o seu código Go deve residir em um único espaço de trabalho chamado de worskpace. O workspace é que um diretório em seu sistema de arquivos cujo o caminho é armazenado na variável de ambiente GOTPATH.

No workspace temos três pasta:

1 - pkg

Nessa pasta ficará os pacotes compartilhados da aplicação golang.

2 - src

Nessa pasta é onde escrevesse o código fonte de cada aplicação.

3 - bin

Nessa pasta ficará os executáveis do programa.


A variável de ambiente chamada de GOPATH especifica a localização da workspace. 

Caso não se sinta a vontade com diretório padrão do GOPATH, poderá modificar usando o simples comando no seu terminal.


$ mkdir $HOME/my_workspace
$ export GOPATH=$HOME/my_workspace

Enter fullscreen mode Exit fullscreen mode

E para deixar sempre atualizado esse comando em seu terminal, salvar no arquivo ~/.bash_profile  , e se utilizar o shell Zsh use o arquivo ~/.zshrc .

Segue o comando para salvar no arquivo:


export GOPATH=$HOME/my_workspace

Enter fullscreen mode Exit fullscreen mode

O GOPATH por padrão fica no caminho de $HOME/go em sistema Unix e no Windows em %USERPROFILE%\go.


Como sempre utilizamos pacotes de terceiros para escrever o código, é preciso organizá-los de forma simples, com intuito de identificar a origem quando necessário.

Uma boa forma de utilizar a organização do import é usando uma pasta do Github dentro da sua workspace.

$HOME/my_workspace
├── bin
├── pkg
└── src
  └── github.com
  └── higordiego
    ├── slack_bot
    └── pacote_example
Enter fullscreen mode Exit fullscreen mode

Por fim, com a workspace configurada conforme orientado, será possível começar a escrever o códigos em golang.

Links úteis:

Golang Installation, Setup, GOPATH, and Go Workspace
Setup a Workspace for Go
How to Write Go Code (with GOPATH)

Próximos capítulos em breve.

Top comments (0)