Mudanças entre as edições de "Golang/Ambiente de trabalho"

De Garoa Hacker Clube
Ir para navegação Ir para pesquisar
 
(8 revisões intermediárias pelo mesmo usuário não estão sendo mostradas)
Linha 1: Linha 1:
[[Arquivo:Golang-gopath-goroot.jpg|right|thumb|400px|Figura adaptada do infográfico de [https://twitter.com/davecheney/status/431581286918934528 Dave Cheney].]]
 
   
  +
== Instalação ==
Uma pecularidade da [[Go (linguagem de programação)|linguagem Go]] é uso de uma estrutura fixa de diretórios para os projetos. Para o esquema funcionar, é preciso definir uma ou duas variáveis de ambiente conforme o infográfico ao lado.
 
  +
  +
=== Workspaces ===
  +
 
Uma pecularidade da [[Categoria:Golang|linguagem Go]] é uso de uma estrutura fixa de diretórios para os projetos, chamada '''workspace'''.
  +
  +
Referência: http://golang.org/doc/code.html#Workspaces
  +
  +
=== Variáveis de ambiente ===
  +
  +
[[Arquivo:Golang-gopath-goroot.jpg|right|thumb|400px|Figura adaptada do infográfico de [https://twitter.com/davecheney/status/431581286918934528 Dave Cheney]. O infográfico representa uma boa prática e não uma exigência da linguagem, porque a [https://golang.org/doc/install#install documentação oficial de instalação] diz que <code>$GOROOT</code> não precisa ser definida se o compilador Go for instalado em seu diretório default, mesmo no Windows.]]
  +
  +
Para que a ferramenta <code>go</code> funcione é preciso definir uma ou duas variáveis de ambiente conforme o infográfico ao lado.
   
 
Resumindo:
 
Resumindo:
   
* '''Sempre''' é necessário definir a variável <code>$GOPATH</code>.
+
* '''Sempre''' é preciso definir a variável <code>$GOPATH</code>.
  +
  +
* '''Se''' você usa Windows, é recomendável definir a variável <code>$GOROOT</code>. Em qualquer caso, se o compilador Go estiver instalado em um local "não padrão", é preciso definir <code>$GOROOT</code>.
  +
  +
Também é conveniente incluir o subdiretório <code>$GOPATH/bin</code> na variável <code>$PATH</code> para que os binários compilados possam ser executados facilmente.
  +
  +
==== $GOBIN ====
  +
  +
Normalmente não é preciso definir essa variável de ambiente. Mas para experimentos rápidos é útil ter vários programas com <code>package main</code> em um mesmo diretório. Cada programa pode ser executado com <code>go run</code>. Porém para gerar binários quando há mais de um <code>package main</code> no mesmo diretório, é preciso definir a variável <code>$GOBIN</code> apontando para <code>$GOPATH/bin</code>.
   
  +
Referência: http://golang.org/doc/code.html#GOPATH
* É necessário definir a variável <code>$GOROOT</code> '''se''' você usa Windows.
 

Edição atual tal como às 14h38min de 5 de agosto de 2015

Instalação

Workspaces

Uma pecularidade da é uso de uma estrutura fixa de diretórios para os projetos, chamada workspace.

Referência: http://golang.org/doc/code.html#Workspaces

Variáveis de ambiente

Figura adaptada do infográfico de Dave Cheney. O infográfico representa uma boa prática e não uma exigência da linguagem, porque a documentação oficial de instalação diz que $GOROOT não precisa ser definida se o compilador Go for instalado em seu diretório default, mesmo no Windows.

Para que a ferramenta go funcione é preciso definir uma ou duas variáveis de ambiente conforme o infográfico ao lado.

Resumindo:

  • Sempre é preciso definir a variável $GOPATH.
  • Se você usa Windows, é recomendável definir a variável $GOROOT. Em qualquer caso, se o compilador Go estiver instalado em um local "não padrão", é preciso definir $GOROOT.

Também é conveniente incluir o subdiretório $GOPATH/bin na variável $PATH para que os binários compilados possam ser executados facilmente.

$GOBIN

Normalmente não é preciso definir essa variável de ambiente. Mas para experimentos rápidos é útil ter vários programas com package main em um mesmo diretório. Cada programa pode ser executado com go run. Porém para gerar binários quando há mais de um package main no mesmo diretório, é preciso definir a variável $GOBIN apontando para $GOPATH/bin.

Referência: http://golang.org/doc/code.html#GOPATH