Finalization and revision of the first chapter in pt-br
This commit is contained in:
committed by
James Miranda
parent
005c584a05
commit
f32f286e4b
@@ -1,12 +1,12 @@
|
||||
# 1 Configuração do ambiente de desenvolvimento
|
||||
|
||||
Seja bem vindo ao mundo Go, vamos começar a explorar!
|
||||
Seja bem vindo ao mundo Go, vamos começar a explorá-lo!
|
||||
|
||||
Go é uma linguagem compilada rápida incluindo coletor de lixo e multiplataforma. Veja abaixo algumas vantagens de utiliza la:
|
||||
Go é uma linguagem compilada rápida que incluí coletor de lixo e é multiplataforma. Veja abaixo algumas vantagens de utilizá-la:
|
||||
|
||||
- Compilação rápida em projetos de todos os portes.
|
||||
- Mantém um modelo padrão no desenvolvimento de software, sendo assim evitando futuros problemas associados ao estilo C de desenvolvimento.
|
||||
- É estática, não tem níveis no seu sistema de tipo, então não precisaremos gastar tempo trabalhando com a relação de tipos de variaveis. É bem leve e orientada a objetos.
|
||||
- Mantém um modelo padrão no desenvolvimento de software, evitando futuros problemas associados ao estilo C de desenvolvimento.
|
||||
- É estática, não tem níveis no seu sistema de tipo, então não precisaremos gastar tempo trabalhando com a relação de tipos de variáveis. É bem leve e orientada a objetos.
|
||||
- Realiza a coleta de lixo. Isso melhora o desempenho e a comunicação com diversos sistemas operacionais;
|
||||
- Foi desenvolvida para todas as plataformas.
|
||||
|
||||
|
||||
@@ -2,23 +2,23 @@
|
||||
|
||||
## Os 3 modos de instalar Go
|
||||
|
||||
Existem muitas maneiras de configurar o ambiente de desenvolvimento em seu computador, você pode escolher o modo que preferir. Seguem abaixo os três modos mais comuns de instalar a linguagem:
|
||||
Existem muitas maneiras de configurar o ambiente de desenvolvimento em seu computador, você pode escolher o modo que preferir. Seguem abaixo os três modos mais comuns para configurar seu ambiente para utilizar a linguagem Go:
|
||||
|
||||
|
||||
- Pacotes de instalação oficiais.
|
||||
- O time por trás do Go, proporciona um modo muito conveniente de instalação para Windows, Linux, Mac e outros sistemas operacionais. Esse é o método mais simples para iniciar.
|
||||
|
||||
- Instalação através do código fonte.
|
||||
- Bem popular entre desenvolvedores familiares com sistemas UNIX-like
|
||||
- Bem popular entre desenvolvedores familiares com sistemas UNIX-like.
|
||||
|
||||
- Por terceiros(Pacotes não oficiais).
|
||||
- Existem muitos pacotes de terceiros, costumam vir em gerenciadores de pacotes como apt-get no Ubuntu ou homebrew no Mac.
|
||||
|
||||
Caso você queira ter mais de uma versão de Go no seu computador, existe a opção de instalar através do Go Version Manager(GVM). É a melhor ferramenta que tenho visto por cumprir bem as tarefas, entretanto você deverá escolher o modo que ira ser melhor. [GVM](https://github.com/moovweb/gvm)
|
||||
Caso você queira ter mais de uma versão de Go no seu computador, existe a opção de instalar através do Go Version Manager(GVM). É a melhor ferramenta que tenho visto por cumprir bem essa tarefa, entretanto você deverá escolher o modo que irá ser melhor para você. [GVM](https://github.com/moovweb/gvm)
|
||||
|
||||
## Instalando pelo Código Fonte
|
||||
|
||||
Algumas partes de Go foram escritas em Plan 9 C e AT&T assembler, você precisará instalar um compilador de C antes de realizar os passos a seguir.
|
||||
Algumas partes de Go foram escritas em Plan 9 C e AT&T assembler e você precisará instalar um compilador de C antes de realizar os passos a seguir.
|
||||
|
||||
No MAC, você precisará do Xcode, que já vem com o compilador incluso.
|
||||
|
||||
@@ -26,7 +26,7 @@ Em sistemas UNIX-Linux, você deverá instalar o GCC ou algum compilador semelha
|
||||
|
||||
`sudo apt-get install gcc libc6-dev`
|
||||
|
||||
Caso seja Fedora, OpenSuse ou outras distribuições, consulte a documentação oficial.
|
||||
Para Fedora, OpenSuse e outras distribuições, consulte a documentação oficial.
|
||||
|
||||
Para o Windows, será necessário ter o MinGW(Consulte a arquitetura do seu Windows antes de instalar) para instalar o GCC. Não se esqueça de configurar as variaveis do sistemas após a instalação ser concluída.
|
||||
|
||||
@@ -34,15 +34,14 @@ Para finalmente realizar a instalação através do código fonte, necessitamos
|
||||
|
||||
git clone https://go.googlesource.com/go
|
||||
cd go/src
|
||||
./all.bash
|
||||
|
||||
./all.bash
|
||||
|
||||
Uma instalação de sucesso retornará a mensagem: "ALL TESTS PASSED." (Todos os testes passaram)
|
||||
|
||||
No Windows você pode executar o arquivo `all.bat`.
|
||||
|
||||
|
||||
Caso esteja utilizando Windows, a instalação do pacote ira configurar automaticamente todas as variaveis do sistema. Em sistema UNIX-Linux, você precisa configura-las manualmente no final do arquivo `.bash_profile`
|
||||
Caso esteja utilizando Windows, a instalação do pacote ira configurar automaticamente todas as variaveis do sistema. Em sistema UNIX-Linux, você precisa configurá-las manualmente no final do arquivo `.bash_profile` conforme abaixo:
|
||||
|
||||
export GOROOT=$HOME/go
|
||||
export GOBIN=$GOROOT/bin
|
||||
@@ -63,11 +62,11 @@ Go tem uma instalação simples para todos os sistemas operacionais. Esses pacot
|
||||
|
||||
O próxima passo depende do tipo de sistema operacional que você está utilizando. Então temos que checar antes de realizar a instalação dos pacotes.
|
||||
|
||||
Se estiver utilizando Windows, pressione `Win+R` e digite: cmd para abrir o prompt de comando. Execute o comando `systeminfo` e procure a linha referente a "system type" -se você ver "x64-based PC", quer dizer que seu sistema é 64-bit. Caso seja "x32-based PC" é 32-bit".
|
||||
Se estiver utilizando Windows, pressione `Win+R` e digite: cmd para abrir o prompt de comando. Execute o comando `systeminfo` e procure a linha referente a "system type" -se você ver "x64-based PC", quer dizer que seu sistema é 64-bit. Caso seja "x32-based PC" é 32-bit".
|
||||
|
||||
É recomendavel utilizar versões 64-bit. Se estiver no MAC, Go não suporta mais versão 32-bit do OSX.
|
||||
|
||||
No Linux abra um terminal e digite: `uname -a`
|
||||
No Linux abra um terminal e digite: `uname -a`
|
||||
Um sistema 64-bit exibirá a mensagem a seguir:
|
||||
|
||||
<alguma descrição> x86_64 x86_64 x86_64 GNU/Linux
|
||||
|
||||
@@ -8,7 +8,7 @@ Essa variável($GOPATH), marca a localização do ambiente de trabalho Go.
|
||||
Em sistema UNIX-Linux, a variável do sistema deverá ser configurada da seguinte forma no arquivo `.bash_profile`
|
||||
|
||||
export GOPATH=/home/apple/mygo
|
||||
|
||||
|
||||
No Windows você precisa criar uma nova variável de ambiente chamada GOPATH, e configura-la para o diretório de trabalho, por exemplo: `c:\mygo`
|
||||
|
||||
É comum ter mais de um Workspace no seu $GOPATH, mas lembre-se de usar `:`(`;` no Windows) para delimitar os diretórios. Com o $GOPATH configurado você já poderá realizar o download de pacotes externos utilizando o `go get`.
|
||||
@@ -22,19 +22,21 @@ Dentro do seu $GOPATH, deverá ter os seguintes diretórios:
|
||||
Nesse livro, vamos utilizar a pasta: `mygo` como único ambiente no $GOPATH.
|
||||
|
||||
## Diretórios de pacotes
|
||||
Crie um novo arquivo chamado sqrt.go dentro da pasta `$GOPATH/src/mymath/sqrt.go` (Note que também foi criado um diretório chamado 'mymath', no qual deverá ser o nome do nosso pacote)
|
||||
|
||||
Todas as vezes que um novo pacote for criado, você deverá criar uma pasta com seu nome dentro de `src`. O nome das pastas costumam ter o mesmo nome do pacote que será utilizado. Você pode ter quantas pastas quiser, por exemplo: Se você criar uma pasta `$GOPATH/src/github.com/astaxie/beedb`, então seu pacote será `github.com/astaxie/beedb`. O nome do pacote sempre será o último, no caso do exemplo citado: `beedb`
|
||||
Crie um novo arquivo chamado sqrt.go dentro da pasta `$GOPATH/src/mymath/sqrt.go` (Note que também foi criado um diretório chamado 'mymath', o qual será o nome do nosso pacote)
|
||||
|
||||
Todas as vezes que um novo pacote for criado, você deverá criar uma pasta com seu nome dentro de `src`. O nome das pastas costumam ter o mesmo nome do pacote que será utilizado. Você pode ter quantas sub-pastas quiser, por exemplo: Se você criar uma pasta `$GOPATH/src/github.com/astaxie/beedb`, então seu pacote será `github.com/astaxie/beedb`. O nome do pacote sempre será o último, no caso do exemplo citado: `beedb`
|
||||
|
||||
Seguindo as instruções acima.
|
||||
Execute os comandos abaixo:
|
||||
cd $GOPATH/src
|
||||
mkdir mymath
|
||||
|
||||
|
||||
Crie um novo arquivo chamado `sqrt.go` e ponha o seguinte conteúdo:
|
||||
|
||||
|
||||
// Código fonte de $GOPATH/src/mymath/sqrt.go
|
||||
package mymath
|
||||
|
||||
|
||||
func Sqrt(x float64) float64 {
|
||||
z := 0.0
|
||||
for i := 0; i < 1000; i++ {
|
||||
@@ -42,22 +44,22 @@ Crie um novo arquivo chamado `sqrt.go` e ponha o seguinte conteúdo:
|
||||
}
|
||||
return z
|
||||
}
|
||||
|
||||
Agora o diretório e código fonte do meu pacote foi criado. Recomendo que utilize o nome do pacote correspondendo ao diretório.
|
||||
|
||||
Agora o diretório e código fonte do meu pacote foi criado. Conforme explicado, recomendo que utilize o nome do pacote correspondendo ao diretório.
|
||||
|
||||
## Compilando pacotes
|
||||
|
||||
Agora que nós criamos nosso pacote acima, como vamos utilizado de modo prático? Existem duas maneiras de fazer isso.
|
||||
Agora que nós criamos nosso pacote, como vamos utilizá-lo de modo prático? Existem duas maneiras de fazer isso.
|
||||
|
||||
1. Mude para o diretório do seu pacote e execute o comando `go install`.
|
||||
2. Execute o comando acima, utilizando o nome do arquivo sem extenção, exemplo: `go install mymath`.
|
||||
2. Execute o comando acima, utilizando o nome do arquivo sem extenção, exemplo: `go install mymath`.
|
||||
|
||||
Após compilado, podemos ve-lo na seguinte pasta:
|
||||
Após compilado, podemos ver o arquivo executável do pacote na seguinte pasta:
|
||||
cd $GOPATH/pkg/${GOOS}_${GOARCH}
|
||||
// O arquivo do pacote gerado com a extenção .a
|
||||
mymath.a
|
||||
|
||||
Nosso arquivo foi gerado com a extenção `.a`. Isso é o arquivo binário, como vamos utiliza-lo?
|
||||
|
||||
Nosso arquivo foi gerado com a extenção `.a` que é um arquivo binário, como vamos utilizá-lo?
|
||||
|
||||
Obviamente teremos que criar uma nova aplicação para utilizar.
|
||||
|
||||
@@ -67,32 +69,32 @@ Crie uma nova aplicação chamada `mathapp`
|
||||
mkdir mathapp
|
||||
cd mathapp
|
||||
vim main.go
|
||||
|
||||
|
||||
Código fonte:
|
||||
|
||||
//$GOPATH/src/mathapp/main.go código fonte.
|
||||
package main
|
||||
|
||||
|
||||
import (
|
||||
"mymath"
|
||||
"fmt"
|
||||
)
|
||||
|
||||
|
||||
func main() {
|
||||
fmt.Printf("Olá, mundo. Sqrt(2) = %v\n", mymath.Sqrt(2))
|
||||
}
|
||||
|
||||
|
||||
Para compilar nossa aplicação, deveremos alterar o código fonte de diretório, nesse caso para `$GOPATH/src/mathapp` e executar o comando `go install`. Agora teremos um arquivo executável dentro da pasta `$GOPATH/bin/`. Para executarmos basta: `./mathapp` no terminal, e você deverá ver o seguinte retorno:
|
||||
|
||||
Olá, mundo. Sqrt(2) = 1.414213562373095
|
||||
|
||||
|
||||
## Instalando pacotes remotamente
|
||||
|
||||
Go tem uma ferramente para utilizar pacotes remotos, chamada `go get`. Ela é suportada por grandes comunidades de código aberto, incluindo: Github, Google Code, Bitbucket e Launchpad.
|
||||
Go possui uma ferramente para utilizar pacotes remotos, chamada `go get`. Ela é suportada por grandes comunidades de código aberto, incluindo: Github, Google Code, Bitbucket e Launchpad.
|
||||
|
||||
go get github.com/astaxie/beedb
|
||||
|
||||
Você pode utilizar o parâmetro `-u` para a atualizar os pacotes já existentes, por exemplo: `go get -u …`.
|
||||
|
||||
Você pode utilizar o parâmetro `-u` para a atualizar os pacotes já existentes, por exemplo: `go get -u …`.
|
||||
|
||||
O `go get` utiliza as ferramentas de versionamento de código aberto mais utilizadas do mercado como `git` para o GitHub e o `hg` para o Google Code.
|
||||
Antes de utilizar o `go get` certifique-se de ter instalado ao menos uma delas. (Nota do tradutor: Recomendo utilizar Git)
|
||||
@@ -108,13 +110,13 @@ Após a execução do comando acima, você deverá ter a seguinte estrutura de d
|
||||
|-github.com
|
||||
|-astaxie
|
||||
|-beedb.a
|
||||
|
||||
|
||||
O comando `go get` clona o código fonte e dependencias para o seu $GOPATH/src e instala os pacote com `go install`
|
||||
|
||||
Você também pode utilizar pacotes de terceiros através de imports no código fonte da aplicação:
|
||||
Você também pode utilizar pacotes de terceiros através de imports no código fonte da aplicação, utilizando a sintaxe abaixo:
|
||||
|
||||
import "github.com/astaxie/beedb"
|
||||
|
||||
|
||||
## Estrutura de diretórios completa
|
||||
|
||||
Se você seguiu todos os passos anteriores corretamente, sua estrurura de diretórios deverá ser algo semelhando a isso:
|
||||
@@ -137,11 +139,11 @@ Se você seguiu todos os passos anteriores corretamente, sua estrurura de diret
|
||||
beedb/
|
||||
beedb.go
|
||||
util.go
|
||||
|
||||
Agora você é capaz de ver claramente a estrutura do diretório `bin` contém arquivos executáveis, `pkg` contém arquivos compilados e `src` contém arquivos de origem do pacote.
|
||||
|
||||
Agora você é capaz de ver claramente que a estrutura do diretório `bin` contém arquivos executáveis, `pkg` contém arquivos compilados e `src` contém arquivos de origem do pacote.
|
||||
Agora que esclarecemos como Go gerencia dependencias e código fonte, vamos recaptular de forma rápida a estrutura; `bin` contém os executaveis, `pkg` bibliotecas ou pacotes compilados, `src` código fonte da sua aplicação e pacotes.
|
||||
|
||||
(O GOPATH no Windows é exibido como: `%GOPATH%`, como esse livro tem um foco em sistemas UNIX-Like, usuários Windows deverão realizar futuros ajustes para que tudo ocorra como esperado)
|
||||
(O GOPATH no Windows é exibido como: `%GOPATH%`, como esse livro tem um foco maior em sistemas UNIX-Like, usuários Windows deverão realizar futuros ajustes para que tudo ocorra como esperado)
|
||||
|
||||
## Links
|
||||
|
||||
|
||||
@@ -1,14 +1,14 @@
|
||||
#1.3 Go commands
|
||||
#1.3 Comandos GO
|
||||
|
||||
## Comandos GO
|
||||
|
||||
A linaguagem Go possui nativamente uma série de comandos operacionais. Você pode executar o comando `go` na sua linha de comando para ver a lista completa:
|
||||
A liguagem Go possui nativamente uma série de comandos operacionais. Você pode executar o comando `go` na sua linha de comando para ver a lista completa:
|
||||
|
||||

|
||||
|
||||
Figura 1.3 O comando Go mostra a informação detalhada
|
||||
Figura 1.3 O comando Go mostra a informação detalhada das opções
|
||||
|
||||
Todos são bastante úteis para nós. Vamos ver como funcionam alguns deles.
|
||||
Todos são bastante úteis para nós. Vamos ver como alguns deles funcionam.
|
||||
|
||||
## go build
|
||||
|
||||
@@ -19,19 +19,19 @@ Este é o comando para testes de compilação. Ele irá compilar as dependência
|
||||
- Se houverem muitos arquivos na mesma pasta e você quiser compilar apenas um deles, então você deve inserir o nome do arquivo no final do comando `go build`. Por exemplo, `go build a.go`. Usar apenas `go build` irá compilar todos os arquivos da pasta.
|
||||
- Você também pode determinar o nome do arquivo que será gerado pelo comando `go build`. Por exemplo, no projeto `mathapp` (da seção 1.2), usando `go build -o astaxie.exe` irá gerar o arquivo `astaxie.exe` ao invés de `mathapp.exe`. O nome padrão é o nome da pasta, para pacotes que não sejam main, ou o nome do primeiro arquivo de código fonte, para o pacote main.
|
||||
|
||||
(De acordo com o ["The Go Programming Language Specification"](https://golang.org/ref/spec), o nome do pacote é definido pela palavra que aparece na frente da palavra chave `package` na primeira linha dos arquivos de código fonte. Essa palavra não precisa necessariamente ter o mesmo nome da pasta onde o arquivo está salvo, porém o arquivo executável terá o nome da pasta por padrão.)
|
||||
(De acordo com o ["The Go Programming Language Specification"](https://golang.org/ref/spec), o nome do pacote é definido pela palavra que aparece na frente da palavra chave `package` na primeira linha dos arquivos de código fonte. Essa palavra não precisa necessariamente ter o mesmo nome da pasta onde o arquivo está salvo, porém o arquivo executável terá o nome da pasta por padrão.)
|
||||
|
||||
- O comando `go build` ignora arquivos cujo os nomes comecem por `_` ou `.`.
|
||||
- Se você desejar criar diferentes arquivos de código fonte para cada sistema operacional, você pode nomear os arquivos com o nome do sistema no final. Suponha que temos alguns códigos para carregamento de arrays, eles podem ser nomeados conforme segue abaixo:
|
||||
|
||||
|
||||
array_linux.go | array_darwin.go | array_windows.go | array_freebsd.go
|
||||
|
||||
|
||||
O comando `go build` irá escolher o arquivo respectivo ao seu sistema operacional. Por exemplo, ele irá compilar o array_linux.go em sistema Linux e ignorar os demais.
|
||||
|
||||
## go clean
|
||||
|
||||
Este comando serve para uma limpeza dos arquivos gerados pelos compiladores, incluindo os arquivos abaixo:
|
||||
|
||||
Este comando serve para uma limpeza dos arquivos gerados pelos compiladores, incluindo os arquivos abaixo:
|
||||
|
||||
_obj/ // antigo diretório de objetos, deixado pelos Makefiles
|
||||
_test/ // antigo diretório de testes, deixado pelos Makefiles
|
||||
_testmain.go // antigo arquivo do gotest, deixado pelos Makefiles
|
||||
@@ -42,27 +42,27 @@ Este comando serve para uma limpeza dos arquivos gerados pelos compiladores, inc
|
||||
DIR(.exe) // gerado pelo go build
|
||||
DIR.test(.exe) // gerado pelo go test -c
|
||||
MAINFILE(.exe) // gerado pelo go build MAINFILE.go
|
||||
|
||||
|
||||
Normalmente, usa-se esse comando para uma limpeza dos arquivos antes de fazer o upload do projeto para o repositório (GitHub,por exemplo). Eles são úteis para testes locais, mas inúteis para o versionamento.
|
||||
|
||||
## go fmt e gofmt
|
||||
|
||||
As pessoas acostumadas a trabalhar com C/C++ estão sempre discutindo sobre qual o melhor estilo de código: estilo-K&R ou estilo-ANSI?
|
||||
Ao trabalhar com Go, só existe um estilo de código. Por exemplo, chaves esquerdas só devem ser inseridas no final da linha e não podem estar sozinhos em uma linha, caso contrário você receberá um erro de compilação! Felizmente, você não precisa se lembrar dessa regras. O comando `go fmt` faz esse trabalho pa você, basta executar o comando ` go fmt <NomeDoArquivo.go>` no terminal. As IDEs modernar usualmente já realizam esse comando de modo automático, mas a escolha de IDE é o assunto da próxima seção.
|
||||
As pessoas acostumadas a trabalhar com C/C++ estão sempre discutindo sobre qual o melhor estilo de código: estilo-K&R ou estilo-ANSI?
|
||||
Ao trabalhar com Go, só existe um estilo de código. Por exemplo, chaves esquerdas só devem ser inseridas no final da linha e não podem estar sozinhos em uma linha, caso contrário você receberá um erro de compilação! Felizmente, você não precisa se lembrar dessa regras. O comando `go fmt` faz esse trabalho pra você, basta executar o comando `go fmt <NomeDoArquivo.go>` no terminal. As IDEs modernas usualmente já realizam esse comando de modo automático, mas a escolha de IDE é o assunto da próxima seção.
|
||||
|
||||
`go fmt` é apenas um apelido (alias) que irá de fato rodar o comando 'gofmt -l -w' nos pacotes nomeados pelos caminhos de importação.
|
||||
|
||||
Normalmente, usamos o comando `gofmt -w` ao invés de simplesmente `go fmt`. A diferença é que o último não irá reescrever os aruivos de código fonte formatando o código. `gofmt -w src` formata o projeto inteiro.
|
||||
Normalmente, usamos o comando `gofmt -w` ao invés de simplesmente `go fmt`. A diferença é que o último não irá reescrever os arquivos de código fonte formatando o código. `gofmt -w src` formata o projeto inteiro.
|
||||
|
||||
## go get
|
||||
|
||||
Esse comando serve para obtenção de pacotes remotamente. Até agora, o comando suporta BitBucket, Github, Google Code e Launchpad. De fato, duas coisas ocorrem quando esse comando é executado. Primeiramente é feito o download do código fonte e então é executado o comando `go install`. Antes de utilizar esse comando, tenha certeza de possuir instalados as seguintes ferramentas.
|
||||
Esse comando serve para obtenção de pacotes remotamente. Até o momento, o comando suporta BitBucket, Github, Google Code e Launchpad. De fato, duas coisas ocorrem quando esse comando é executado. Primeiramente é feito o download do código fonte e então é executado o comando `go install`. Antes de utilizar esse comando, tenha certeza de possuir instalados as seguintes ferramentas.
|
||||
|
||||
BitBucket (Mercurial Git)
|
||||
Github (git)
|
||||
Google Code (Git, Mercurial, Subversion)
|
||||
Launchpad (Bazaar)
|
||||
|
||||
|
||||
Para o correto funcionamento, além de instalar as ferramentas acima, não se esqueça de configurar corretamente sua variável `$PATH`. A propósito, esse comando também suporta nomes de domínios customizados. Use `go help remote` para mais detalhes.
|
||||
|
||||
## go install
|
||||
@@ -77,29 +77,29 @@ Esse comando carrega todos os arquivos que tenham o nome seguindo o padrão `*_t
|
||||
FAIL archive/zip 0.022s
|
||||
ok compress/gzip 0.033s
|
||||
...
|
||||
|
||||
|
||||
Ele testa todos os arquivos por padrão. Use o comando `go help testflag` para mais detalhes e informações.
|
||||
|
||||
## godoc
|
||||
|
||||
Muitos afirmam não ser necessária a utilização de bibliotecas externas para documentação dos programas Go, uma vez que Go já possui uma poderosa ferramenta para documentação nativamente (de qualquer maneira, veja a biblioteca criada por mim, a [CHM](https://github.com/astaxie/godoc) (N. do T.: Link do autor original)).
|
||||
|
||||
Sendo assim, como devemos buscar essa documentação para cada um dos pacotes?
|
||||
Sendo assim, como devemos buscar essa documentação para cada um dos pacotes?
|
||||
Se você quiser mais informações para um pacote nativo (builtin), você pode usar o comando `godoc builtin`. De forma semelhante, você pode usar `godoc net/http` para encontrar a documentação do pacote `http`, por exemplo. E ainda, se quiser mais detalhes de uma função específica, você pode usar `godoc fmt Printf` e `godoc -src fmt Printf` para ver o código fonte da função.
|
||||
|
||||
Finalmente, você pode ainda executar o comando `godoc -http=:8080` e, em seguida, abrir `127.0.0.1:8080` no seu navegador. Você terá uma cópia local de golang.org. Ele vai mostrar não só os pacotes padrões, mas também aqueles encontrados em `$GOPATH/pkg`. Esse recurso é ótimo para pessoas que sofrem de algum bloqueio como aquele do Great Firewall of China, por exemplo.
|
||||
|
||||
## Outros comandos
|
||||
|
||||
Go possui ainda muitos outros comandos além daqueles citados aqui. Seguem alguns exemplos abaixo.
|
||||
Go possui ainda muitos outros comandos além dos citados aqui. Seguem alguns exemplos.
|
||||
|
||||
go fix // atualiza o código de uma versão antiga anterior a go1 para uma nova versão depois de go1
|
||||
go version // exibe informações sobre sua versão de Go
|
||||
go env //exibe as variáveis de ambiente relacionados a Go
|
||||
go list // lista todos os pacotes instalados
|
||||
go run // compila os arquivos temporários e executa a aplicação
|
||||
|
||||
Mesmo os comandos explicados até aqui, existem vários outros detalhes que não foram discutidos aqui. Você sempre pode usar `go help <command>` para detalhes e informações completas.
|
||||
|
||||
Mesmo sobre os comandos explicados até aqui, existem vários outros detalhes que não foram discutidos. Você sempre pode usar `go help <command>` para detalhes e informações completas.
|
||||
|
||||
## Links
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# Ferramentas de desenvolvimento Go
|
||||
# Ferramentas para desenvolvimento Go
|
||||
|
||||
Nesta seção, vamos mostrar alguns IDEs (Integrated Development Environment ou Ambiente de Desenvolvimento Integrado) que podem ajudar você a ser um programador Go mais eficiente, com recursos como auto-complete inteligente e auto-formatação. Todas elas são compatíveis com todos os sitemas operacionais (cross-platform), então os passos descritos abaixo devem ser semelhantes independentemente do sistema que esteja utilizando.
|
||||
|
||||
@@ -17,12 +17,12 @@ Recursos do LiteIDE.
|
||||
- Linux
|
||||
- Mac OS
|
||||
- Cross-compile
|
||||
- Gerencimaneto de multiplos ambientes de compilação
|
||||
- Gerencimaneto de múltiplos ambientes de compilação
|
||||
- Suporte a compilação cruzada (cross-compilation) da linguagem Go
|
||||
- Gerenciamento do projeto
|
||||
- Visão da documentação baseada na variável $GOPATH
|
||||
- Sistema de compilação baseado na variável $GOPATH
|
||||
- Indíce da documentação da API baseadoo na veriável $GOPATH (N. do T.: Necessita de adaptações melhores para o português)
|
||||
- Indíce da documentação da API baseadoo na veriável $GOPATH (N. do T.: Necessita de adaptações para o português)
|
||||
- Editor de código fonte Go
|
||||
- Alinhamento e identação de código
|
||||
- Suporte total ao gocode
|
||||
@@ -50,7 +50,7 @@ Recursos do LiteIDE.
|
||||
- [Página de Download](http://code.google.com/p/golangide)
|
||||
- [Código Fonte](https://github.com/visualfc/liteide)
|
||||
|
||||
Você precisa instalar Go primeiro (conforme a seção 1.1), depois faça o download da versão do LiteIDE mais apropriada para o seu sistema. Apenas descompacte e use diretamente.
|
||||
Você precisa instalar Go primeiro (conforme a seção [1.1](01.1.md)), depois faça o download da versão do LiteIDE mais apropriada para o seu sistema. Apenas descompacte e use diretamente.
|
||||
|
||||
- Instale o gocode
|
||||
|
||||
@@ -60,7 +60,7 @@ Recursos do LiteIDE.
|
||||
|
||||
- Ambiente de compilação
|
||||
|
||||
Troque a configureguração no LiteIDE para configura-lo corretamente para o seu sistema operacional.
|
||||
Troque a configuração no LiteIDE para configurá-lo corretamente para o seu sistema operacional.
|
||||
Por exemplo, no Windows e usando a versão 64-bit da linguagem Go, você deve escolher win64 como ambiente de configuração na barra de ferramentas. Escolha `opinion`, encontre `LiteEnv` e na lista esquerda, abro o arquivo `win64.env`. Ele deve ser parecido como modelo a seguir.
|
||||
|
||||
GOROOT=c:\go
|
||||
@@ -72,7 +72,7 @@ Recursos do LiteIDE.
|
||||
PATH=%GOBIN%;%GOROOT%\bin;%PATH%
|
||||
。。。
|
||||
|
||||
Substitua `GOROOT=c:\go` para o caminho de instalação configurado anteriormente, salve o arquivo. Para ter suporte completo ao `cgo`, você precisar ter instalado o MinGW64 e deve adicionar `c:\MinGW64\bin` a a sua variável de ambiente.
|
||||
Substitua `GOROOT=c:\go` para o caminho de instalação configurado anteriormente, salve o arquivo. Para ter suporte completo ao `cgo` no windowns, você precisar ter instalado o MinGW64 e deve adicionar `c:\MinGW64\bin` a a sua variável de ambiente.
|
||||
|
||||
No Linux, usando uma versão 64-bit da linguagem Go, você deve escolher linux64 como configuração de ambiente na barra de ferramentas. Em seguida, escolha `opinion`, encontre `LiteEnv` no menu a esquerda e abra o arquivo `linux64.env`. Edite-o conforme segue.
|
||||
|
||||
@@ -110,7 +110,7 @@ Nesse ponto, iremos introduzir o Sublime Text (ou apenas Sublime) + GoSublime +
|
||||
Figura 1.6 Gerenciamento de Projetos no Sublime
|
||||
|
||||
- Destaque de sintaxe (Syntax highlight)
|
||||
- A versão trial é gratuita para sempre sem nenhuma limitação nas funções. Você será lembrado em algumas ocasiões com um prompt solicitando a compra da licença, mas você pode ignorpa-lo, se assim quiser. Claro, se você considerar que o editor melhora sua produtividade e você gostar realmente do produto, considere adquirir uma licença e ajudar a manter o desenvolvimento do produto!
|
||||
- A versão trial é gratuita para sempre sem nenhuma limitação nas funções. Você será lembrado em algumas ocasiões com um prompt solicitando a compra da licença, mas você pode ignorá-lo, se assim quiser. Claro, se você considerar que o editor melhora sua produtividade e você gostar realmente do produto, considere adquirir uma licença e ajudar a manter o desenvolvimento do mesmo!
|
||||
|
||||
Primeiro, faça o download da versão apropriada do [Sublime](http://www.sublimetext.com/) para o seu sistema operacional.
|
||||
|
||||
@@ -118,11 +118,12 @@ Primeiro, faça o download da versão apropriada do [Sublime](http://www.sublime
|
||||
|
||||
import urllib2,os; pf='Package Control.sublime-package'; ipp=sublime.installed_packages_path(); os.makedirs(ipp) if not os.path.exists(ipp) else None; urllib2.install_opener(urllib2.build_opener(urllib2.ProxyHandler())); open(os.path.join(ipp,pf),'wb').write(urllib2.urlopen('http://sublime.wbond.net/'+pf.replace(' ','%20')).read()); print 'Please restart Sublime Text to finish installation'
|
||||
|
||||
Reinicie o Sublime Text para finalizar a instalação. Você deverá encontrar uma opção `Package Control` no menu "Preferences".
|
||||
Reinicie o Sublime Text para finalizar a instalação. Ao reabri-lo, você deverá encontrar uma opção `Package Control` no menu "Preferences".
|
||||
|
||||

|
||||
|
||||
Figura 1.7 Sublime Package Control
|
||||
|
||||
2. Para instalar o GoSublime, SidebarEnhancements e Go Build, pressione `Ctrl+Shift+p` para abrir o Package Control e então digite `pcip` (um atalho para "Package Control: Install Package").
|
||||
|
||||

|
||||
@@ -130,11 +131,12 @@ Primeiro, faça o download da versão apropriada do [Sublime](http://www.sublime
|
||||
Figure 1.8 Instalando pacotes no Sublime
|
||||
|
||||
Busque por "GoSublime", pressione OK para instalar o pacote e repita o mesmo procedimento para instalar os pacotes SidebarEnhancements e Go Build. Mais uma vez, reinicie o editor para completar a instalação.
|
||||
|
||||
3. Para verificar se a instalação foi bem sucedida, abra o arquivo `main.go` no Sublime e veja se ele está destacando a sintaxe corretamente. Digite `import` e confira se aparece um prompt com sugestões de auto-complete. Inclua `import "fmt"` e em seguida insira `fmt.` em qualquer lugar depois da declaração de `import` para verificar se a função de auto-complete inteligente está corretamente ativada.
|
||||
|
||||
Se funcionar corretamente, está tudo pronto.
|
||||
|
||||
Se não funcionar, verifique seu $PATH novamente. Abra um terminal e digite `gocode`. Se mesmo isto não funcionar, possivelmente seu $PATH não deve estar corretamente configurado.
|
||||
Se não funcionar, verifique seu $PATH novamente. Abra um terminal e digite `gocode`. Se mesmo isto não funcionar, possivelmente seu $PATH não está corretamente configurado.
|
||||
|
||||
## Vim
|
||||
|
||||
@@ -180,7 +182,7 @@ Figure 1.8 Auto-complete inteligente para Go no Vim
|
||||
|
||||
## Emacs
|
||||
|
||||
Emacs (também conhecida como Arma de Deus) não é apenas um editor, mas também uma poderosa IDE.
|
||||
Emacs (também conhecida como Arma de Deus) não é apenas um editor, mas também um poderoso IDE.
|
||||
|
||||

|
||||
|
||||
@@ -368,7 +370,7 @@ Figure 1.1 Painel principal do Eclipse para Go
|
||||
|
||||
## IntelliJ IDEA
|
||||
|
||||
As pessoas que trabalham com Java tem familiaridade com esta IDE. Ela também suporta a sintaxe para linguagem Go e auto-complete inteligente através de um plugin.
|
||||
As pessoas que trabalham com Java tem familiaridade com este IDE. Ela também suporta a sintaxe para linguagem Go e auto-complete inteligente através de um plugin.
|
||||
|
||||
1. Faça o download da IDEA, não há diferença entre as versões Ultimate e Community para uso com Go
|
||||
|
||||
@@ -382,7 +384,7 @@ As pessoas que trabalham com Java tem familiaridade com esta IDE. Ela também su
|
||||
|
||||

|
||||
|
||||
Clique em `Apply` e reinicie a IDE.
|
||||
Clique em `Apply` e reinicie o IDE.
|
||||
4. Agora você está apto para criar um projeto Go.
|
||||
|
||||

|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
# 1.5 Resumo
|
||||
|
||||
Neste capítulo, nós falamos sobre a instalação da linguagem Go usando três métodos diferentes, incluindo diretaente do código-fonte, pelo pacote padrão e através de ferramentas de terceiros.
|
||||
Na sequência mostramos como configurar o ambiente de desenvolvimento para Go, cobrindo desde a configuração do `$GOPATH`. Depois disso, foram introduzidos alguns passos para compilação e desenvolvimento de programas Go e cobrimos os Comandos Go, incluindo os comandos compile, install, format e test.
|
||||
Neste capítulo, nós falamos sobre a instalação da linguagem Go usando três métodos diferentes, incluindo diretamente do código-fonte, pelo pacote padrão e através de ferramentas de terceiros.
|
||||
Na sequência mostramos como configurar o ambiente de desenvolvimento para Go, cobrindo desde a configuração do `$GOPATH`. na sequência, foram introduzidos alguns passos para compilação e desenvolvimento de programas Go e cobrimos também os Comandos Go mais importantes, tais como os comandos compile, install, format e test.
|
||||
Finalmente, foram apresentadas diversas ferramentas poderosas para o desenvolvimento de programas Go, tais como LiteIDE, Sublime Text, Vim, Emacs, Eclipse, IntelliJ IDEA, etc. Você pode escolher qualquer uma delas para explorar o mundo de Go.
|
||||
|
||||
## Links
|
||||
|
||||
- [Sumário](preface.md)
|
||||
- Sessão anterior: [Ferramentas de desenvolvimento Go](01.4.md)
|
||||
- Sessão anterior: [Ferramentas para desenvolvimento Go](01.4.md)
|
||||
- Próxima sessão: [Conhecimento básico de Go](02.0.md)
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# 2 Conhecimento básico de Go
|
||||
|
||||
Go is a compiled system programming language, and it belongs to the C-family. However, its compilation speed is much faster than other C-family languages. It has only 25 keywords... even less than the 26 letters of the English alphabet! Let's take a look at these keywords before we get started.
|
||||
Go é uma linguagem de programação compilada e pertence a família da lingaugem C. Contudo, seu tempo de compilação é muito mais rápido do que outras linguagens da mesma família. Ela possui apenas 25 palavras-chave (palavras reservadas)...um número menor que as 26 letras do alfabeto inglês! (N. do T.: O alfabeto português oficialmente também possui 26 letras) Vamos dar uma olhada nessas palavras antes de começar.
|
||||
|
||||
break default func interface select
|
||||
case defer go map struct
|
||||
@@ -8,10 +8,10 @@ Go is a compiled system programming language, and it belongs to the C-family. Ho
|
||||
const fallthrough if range type
|
||||
continue for import return var
|
||||
|
||||
In this chapter, I'm going to teach you some basic Go knowledge. You will find out how concise the Go programming language is, and the beautiful design of the language. Programming can be very fun in Go. After we complete this chapter, you'll be familiar with the above keywords.
|
||||
Neste capítulo, vou ensinar o básico de Go. Você irá perceber o quanto ela é uma linguagem concisa e como seu Design é bonito. Programar pode ser muito divertido com Go. Após completar este capítulo, você estará familiarizado com todas as palavras listadas acima.
|
||||
|
||||
## Links
|
||||
|
||||
- [Directory](preface.md)
|
||||
- Previous chapter: [Chapter 1 Summary](01.5.md)
|
||||
- Next section: ["Hello, Go"](02.1.md)
|
||||
- [Sumário](preface.md)
|
||||
- Sessão anterior: [Resumo do Capítulo 1](01.5.md)
|
||||
- Próxima sessão: ["Hello, Go"](02.1.md)
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
* [Go Environment Configuration](01.0.md)
|
||||
* [Installation](01.1.md)
|
||||
* [$GOPATH and workspace](01.2.md)
|
||||
* [Go commands](01.3.md)
|
||||
* [Go development tools](01.4.md)
|
||||
* [Summary](01.5.md)
|
||||
* [Go basic knowledge](02.0.md)
|
||||
* [Configuração do ambiente de desenvolvimento](01.0.md)
|
||||
* [Instalação](01.1.md)
|
||||
* [$GOPATH e Workspace](01.2.md)
|
||||
* [Comandos GO](01.3.md)
|
||||
* [Ferramentas para desenvolvimento Go](01.4.md)
|
||||
* [Resumo](01.5.md)
|
||||
* [Conhecimento básico de Go](02.0.md)
|
||||
* [Hello, Go](02.1.md)
|
||||
* [Go foundation](02.2.md)
|
||||
* [Control statements and functions](02.3.md)
|
||||
@@ -94,4 +94,4 @@
|
||||
* [pprof](14.6.md)
|
||||
* [Summary](14.7.md)
|
||||
* [References](ref.md)
|
||||
* [preface](preface.md)
|
||||
* [preface](preface.md)
|
||||
|
||||
Reference in New Issue
Block a user