Apresentação feita na CampusParty BR Edição 8 em 5 de Fev, 2015.
Uma introdução e demonstração de como construir web services utilizando Go e o pacote padrão `net/http`. Cria um web service para gerenciar tarefas de um usuário.
10 Ferramentas $ go build // Compila gerando um executavel $ go run // Compila sem gerar um executavel $ go get // Baixa e instala um pacote $ go install // Compila e instala um pacote $ go test // Executa os testes de um pacote $ go fmt // Formata seu código (Go code-style) $ go vet // Encontra erros que não de compilação $ godoc // Gera a documentação
10 Workspace # Configura o caminho de importação/instalação export GOPATH=$(cd ~/Golang; pwd) # Adiciona aos executaveis do OS export PATH=$PATH:$GOPATH/bin ~/.bash_profile
Descrição GET /tasks Lista todas as Tarefas GET /task?id=* Retorna uma Tarefa POST /task?id=* Cria uma nova Tarefa PUT /task?id=* Atualiza uma Tarefa DELETE /task?id=* Deleta uma Tarefa
para Golang, o comando go get baixa o repositório para o seu workspace. Instalando dependencias # Instala a biblioteca em ~/Golang/src $ go get labix.org/v2/mgo
10 11 12 13 14 15 // Retorna a conexão com o BD global func GetMongoConnection() (*MongoConnection) { return conn } // Retorna uma conexão com o Banco e a sessão utilizada func GetDatabase() (*mgo.Database, *mgo.Session) { session := conn.session.Copy() return session.DB("cpbr8app"), session } db.go