GoIniziare con Go

Osservazioni

Go è un linguaggio open source, compilato, tipizzato staticamente nella tradizione di Algol e C. Vanta funzionalità come la garbage collection, la tipizzazione strutturale limitata, le funzionalità di sicurezza della memoria e la programmazione simultanea di stile CSP di facile utilizzo.

Versioni

L'ultima versione della versione principale è in grassetto qui sotto. La cronologia completa del rilascio può essere trovata qui .

Versione Data di rilascio
1.8.3 2017/05/24
1.8.0 2017/02/16
1.7.0 2016/08/15
1.6.0 2016/02/17
1.5.0 2015/08/19
1.4.0 2014/12/04
1.3.0 2014/06/18
1.2.0 2013/12/01
1.1.0 2013/05/13
1.0.0 2012-03-28

Impostazione dell'ambiente

Se Go non è preinstallato nel tuo sistema, puoi andare su https://golang.org/dl/ e scegliere la tua piattaforma per scaricare e installare Go.

Per configurare un ambiente di sviluppo Go di base, è necessario impostare solo alcune delle numerose variabili di ambiente che influiscono sul comportamento dello strumento go (Vedi: Elenco delle variabili d'ambiente Go per un elenco completo) (generalmente nel file ~/.profile della shell file o equivalente su sistemi operativi Unix).

GOPATH

Come il sistema PATH variabile di ambiente, percorso Go è un : ( ; su Windows) lista di directory in cui Go cercherà per i pacchetti delimitato. Lo strumento go get scaricherà anche i pacchetti nella prima directory in questo elenco.

GOPATH è dove Go GOPATH cartelle bin , pkg e src associate necessarie per lo spazio di lavoro:

  • src - posizione del file di origine: .go , .c , .g , .s
  • pkg - ha compilato i file .a
  • bin - contiene i file eseguibili creati da Go

Da Go 1.8 in poi, la variabile d'ambiente GOPATH avrà un valore predefinito se non è impostata. Il valore predefinito è $ HOME / go su Unix / Linux e% USERPROFILE% / go su Windows.

Alcuni strumenti presumono che GOPATH conterrà una singola directory.

GOBIN

La directory bin dove go install e go get metterà i binari dopo aver creato i pacchetti main . Generalmente questo è impostato su un punto del sistema PATH modo che i binari installati possano essere eseguiti e rilevati facilmente.

GOROOT

Questa è la posizione della tua installazione Go. È usato per trovare le librerie standard. È molto raro dover impostare questa variabile quando Go incorpora il percorso di build nella toolchain. L'impostazione di GOROOT è necessaria se la directory di installazione differisce dalla directory di build (o dal valore impostato durante la creazione).

Accesso alla documentazione offline

Per la documentazione completa, eseguire il comando:

godoc -http=:<port-number>
 

Per un tour di Go (altamente raccomandato per i principianti nella lingua):

go tool tour
 

I due comandi precedenti daranno avvio ai server web con una documentazione simile a quella che si trova online qui e qui rispettivamente.

Per un controllo rapido dei riferimenti da riga di comando, ad es. Per fmt.Print:

godoc cmd/fmt Print
# or
go doc fmt Print
 

La guida generale è disponibile anche dalla riga di comando:

go help [command]
 

FizzBuzz

Un altro esempio di programmi in stile "Hello World" è FizzBuzz . Questo è un esempio di un'implementazione di FizzBuzz. Molto idiomatico Entra in gioco qui.

package main

// Simple fizzbuzz implementation

import "fmt"

func main() {
    for i := 1; i <= 100; i++ {
        s := ""       
        if i % 3 == 0 {
            s += "Fizz"
        }
        if i % 5 == 0 {
            s += "Buzz"
        }
        if s != "" {
            fmt.Println(s) 
        } else {
            fmt.Println(i) 
        }
    }
}
 

Terreno di gioco

Ciao mondo!

Inserisci il seguente codice nel nome di un file hello.go :

package main

import "fmt"

func main() {
    fmt.Println("Hello, 世界")
}
 

Terreno di gioco

Quando Go è installato correttamente, questo programma può essere compilato ed eseguito in questo modo:

go run hello.go
 

Produzione:

Hello, 世界
 

Una volta che sei soddisfatto del codice, può essere compilato con un eseguibile eseguendo:

go build hello.go
 

Questo creerà un file eseguibile appropriato per il tuo sistema operativo nella directory corrente, che potrai quindi eseguire con il seguente comando:

Linux, OSX e altri sistemi simili a Unix

./hello
 

finestre

hello.exe
 

Nota : i caratteri cinesi sono importanti perché dimostrano che le stringhe Go vengono memorizzate come fette di byte di sola lettura.

Elenco delle variabili d'ambiente Go

Le variabili d'ambiente che influenzano lo strumento go possono essere visualizzate tramite il comando go env [var ...] :

$ go env
GOARCH="amd64"
GOBIN="/home/yourname/bin"
GOEXE=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOOS="linux"
GOPATH="/home/yourname"
GORACE=""
GOROOT="/usr/lib/go"
GOTOOLDIR="/usr/lib/go/pkg/tool/linux_amd64"
CC="gcc"
GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build059426571=/tmp/go-build -gno-record-gcc-switches"
CXX="g++"
CGO_ENABLED="1"
 

Di default stampa l'elenco come uno script di shell; tuttavia, se uno o più nomi di variabili vengono forniti come argomenti, stampa il valore di ciascuna variabile denominata.

$go env GOOS GOPATH
linux
/home/yourname
 

Esecuzione Vai online

Il Go Playground

Uno strumento Go poco conosciuto è The Go Playground . Se si vuole sperimentare con Go senza scaricarlo, possono farlo facilmente semplicemente. . .

  1. Visitando il parco giochi nel proprio browser web
  2. Inserendo il loro codice
  3. Cliccando su "Esegui"

Condivisione del tuo codice

Il Go Playground ha anche strumenti per la condivisione; se un utente preme il pulsante "Condividi", verrà generato un collegamento (come questo ) che può essere inviato ad altre persone per testare e modificare.

In azione

Il Go Playground in azione