GO (Linguagem)

De TheNets Wiki
Ir para: navegação, pesquisa

Como instalar o GO

Para Ubuntu/Debian:

# Instalar GO
apt-get install -y golang

Adicionar as variáveis de ambiente para o ~/.bashrc:

# O GO precisa que a variável $GOPATH esteja definida.
echo 'export GOPATH=$HOME/go' >> ~/.bashrc

# Colocar os binários do GO no $PATH
echo 'export PATH=$PATH:$HOME/go/bin' >> ~/.bashrc


Como criar um Hello World

Básico de como criar um 'hello world' em golang:

// main.go

package main

import (
	"fmt"
)

func main() {
	// Definir variável
	name := "Kratos"

	// Alterar o valor de uma variável
	name = "Luiz"

	// Tipos de "console output"
	fmt.Println("Oi,", name)
	fmt.Printf("Oi, %s! õ/\n", name)
	fmt.Print("Oi, ", name, "!\n")
}

Build entre plataformas

Como compilar executáveis para diferentes arquiteturas.

https://www.digitalocean.com/community/tutorials/how-to-build-go-executables-for-multiple-platforms-on-ubuntu-16-04

BUILD_BIN_NAME=my_project_name_here
BUILD_DIR=builds

COMMIT_ID := $(shell git rev-parse HEAD)

build:
	# Install build dependencies
	go get github.com/inconshreveable/mousetrap
	rm -Rf $(BUILD_DIR)
	# Linux x86
	env GOOS=linux 	 GOARCH=386 go build -o $(BUILD_DIR)/linux/$(BUILD_BIN_NAME) main.go
	# MacOS X x86
	env GOOS=darwin  GOARCH=386 go build -o $(BUILD_DIR)/macosx/$(BUILD_BIN_NAME) main.go
	# Windows x86
	env GOOS=windows GOARCH=386 go build -o $(BUILD_DIR)/windows/$(BUILD_BIN_NAME).exe main.go

Projetos relevantes

Criar um web service em Go:

https://github.com/ardanlabs/service

Treinamento de Go:

https://github.com/ardanlabs/gotraining