GoKomma igång med Go


Anmärkningar

Go är ett öppen källkod, sammanställt, statiskt typspråk i traditionen Algol och C. Det har funktioner som skräpsamling, begränsad strukturell typning, minnessäkerhetsfunktioner och enkel att använda CSP- stil samtidigt programmering.

versioner

Den senaste versionen av den stora versionen är i fetstil nedan. Hela releasehistoriken hittar du här .

Version Utgivningsdatum
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

Ställa in miljön

Om Go inte är förinstallerat i ditt system kan du gå till https://golang.org/dl/ och välja din plattform för att ladda ner och installera Go.

För att skapa en grundläggande Go-utvecklingsmiljö behöver bara några av de många miljövariabler som påverkar go verktygets beteende (se: Lista Go-miljövariabler för en fullständig lista) ställas in (vanligtvis i ditt ~/.profile fil, eller motsvarande på Unix-liknande OS).

GOPATH

Liksom system- PATH miljövariabeln är Go path en : ( ; på Windows) avgränsad lista över kataloger där Go kommer att leta efter paket. go get verktyget kommer också att ladda ner paket till den första katalogen i den här listan.

GOPATH är där Go installerar tillhörande mappar för bin , pkg och src behövs för arbetsytan:

  • src - placering av källfiler: .go , .c , .g , .s
  • pkg - har sammanställt .a filer
  • bin - innehåller körbara filer byggda av Go

Från Go 1.8 och framåt kommer GOPATH miljövariabeln att ha ett standardvärde om den inte är inställd. Det är standard $ HOME / go på Unix / Linux och% USERPROFILE% / go på Windows.

Vissa verktyg antar att GOPATH kommer att innehålla en enda katalog.

GOBIN

Bin katalog där go install och go get kommer att placera binärer efter att bygga main paket. I allmänhet är detta inställt på någonstans på system PATH så att installerade binära filer kan köras och upptäcks enkelt.

GOROOT

Det här är platsen för din Go-installation. Det används för att hitta standardbibliotek. Det är mycket sällsynt att behöva ställa in denna variabel eftersom Go bäddar in byggvägen i verktygskedjan. Inställning av GOROOT behövs om installationskatalogen skiljer sig från byggkatalogen (eller det värde som ställts in vid byggandet).

Åtkomst till dokumentation offline

Kör kommandot för full dokumentation:

godoc -http=:<port-number>
 

För en rundtur i Go (rekommenderas starkt för nybörjare på språket):

go tool tour
 

De två kommandona ovan kommer att starta webbservrar med dokumentation som liknar vad som finns online här respektive här .

För snabbreferenskontroll från kommandoraden, t.ex. för fmt. Skriv ut:

godoc cmd/fmt Print
# or
go doc fmt Print
 

Allmän hjälp finns också från kommandoraden:

go help [command]
 

FizzBuzz

Ett annat exempel på "Hello World" -program är FizzBuzz . Detta är ett exempel på en FizzBuzz-implementering. Mycket idiomatisk Gå i spel här.

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) 
        }
    }
}
 

Lekplats

Hej världen!

Placera följande kod i ett filnamn hello.go :

package main

import "fmt"

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

Lekplats

När Go är korrekt installerat kan detta program sammanställas och köras så här:

go run hello.go
 

Produktion:

Hello, 世界
 

När du är nöjd med koden kan den sammanställas till en körbar genom att köra:

go build hello.go
 

Detta skapar en körbar fil som är lämplig för ditt operativsystem i den aktuella katalogen, som du sedan kan köra med följande kommando:

Linux, OSX och andra Unix-liknande system

./hello
 

Windows

hello.exe
 

Obs : De kinesiska karaktärerna är viktiga eftersom de visar att Go-strängar lagras som skrivskyddade bitgrupper.

Lista Go Miljövariabler

Miljövariabler som påverkar go verktyget kan visas via kommandot 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"
 

Som standard skrivs det ut listan som ett skalskript; Men om ett eller flera variabla namn ges som argument skriver det ut värdet på varje namngivna variabel.

$go env GOOS GOPATH
linux
/home/yourname
 

Running Go online

Go Playground

Ett litet känt Go-verktyg är Go Playground . Om man vill experimentera med Go utan att ladda ner det kan de enkelt göra det helt enkelt genom. . .

  1. Besöker lekplatsen i deras webbläsare
  2. Ange deras kod
  3. Klicka på "Kör"

Dela din kod

Go Playground har också verktyg för delning; om en användare trycker på knappen "Dela" kommer en länk (som den här ) att genereras som kan skickas till andra för att testa och redigera.

I aktion

Go Playground i aktion