Go Zelfstudie
Aan de slag met Go
Zoeken…
Opmerkingen
Go is een open-source, gecompileerde, statisch getypte taal in de traditie van Algol en C. Het beschikt over functies zoals het verzamelen van afval, beperkt structureel typen, geheugenveiligheidsfuncties en eenvoudig te gebruiken CSP- achtige gelijktijdige programmering.
versies
De nieuwste versie van de belangrijkste versie is hieronder vetgedrukt . Geschiedenis volledige release kan worden gevonden hier .
Versie | Publicatiedatum |
---|---|
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 |
Hallo Wereld!
Plaats de volgende code in een bestandsnaam hello.go
:
package main
import "fmt"
func main() {
fmt.Println("Hello, 世界")
}
Wanneer Go
correct is geïnstalleerd, kan dit programma als volgt worden gecompileerd en uitgevoerd:
go run hello.go
Output:
Hello, 世界
Als u tevreden bent met de code, kan deze worden gecompileerd tot een uitvoerbaar bestand door het uitvoeren van:
go build hello.go
Hiermee maakt u een uitvoerbaar bestand dat geschikt is voor uw besturingssysteem in de huidige map, dat u vervolgens kunt uitvoeren met de volgende opdracht:
Linux, OSX en andere Unix-achtige systemen
./hello
ramen
hello.exe
Opmerking : de Chinese tekens zijn belangrijk omdat ze aantonen dat Go-reeksen worden opgeslagen als alleen-lezen segmenten van bytes.
FizzBuzz
Een ander voorbeeld van programma's in de stijl van "Hello World" is FizzBuzz . Dit is een voorbeeld van een FizzBuzz-implementatie. Zeer idiomatisch Speel hier.
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)
}
}
}
Listing Go Environment Variables
Omgevingsvariabelen die van invloed zijn op de go
tool kunnen worden bekeken via de opdracht 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"
Standaard wordt de lijst afgedrukt als een shellscript; als een of meer variabelenamen als argumenten worden gegeven, wordt echter de waarde van elke benoemde variabele afgedrukt.
$go env GOOS GOPATH
linux
/home/yourname
Omgeving instellen
Als Go niet vooraf op uw systeem is geïnstalleerd, kunt u naar https://golang.org/dl/ gaan en uw platform kiezen om Go te downloaden en te installeren.
Om een basis Go-ontwikkelomgeving in te stellen, moeten slechts enkele van de vele omgevingsvariabelen die het gedrag van de go
tool beïnvloeden (zie: Lijst met omgevingsvariabelen voor een volledige lijst) worden ingesteld (meestal in het ~/.profile
uw shell bestand of equivalent op Unix-achtige besturingssystemen).
GOPATH
Net als de omgevingsvariabele PATH
het systeem, is Go path een :
( ;
op Windows) gescheiden lijst met mappen waarin Go naar pakketten zoekt. De tool go get
downloadt ook pakketten naar de eerste map in deze lijst.
De GOPATH
is waar Go wil setup geassocieerd bin
, pkg
, en src
mappen die nodig zijn voor de werkruimte:
-
src
- locatie van bronbestanden:.go
,.c
,.g
,.s
-
pkg
- heeft.a
bestanden gecompileerd -
bin
- bevat uitvoerbare bestanden gebouwd door Go
Vanaf Go 1.8 heeft de omgevingsvariabele GOPATH
een standaardwaarde als deze niet is ingesteld. Het is standaard $ HOME / go op Unix / Linux en% USERPROFILE% / go op Windows.
Sommige tools gaan ervan uit dat GOPATH
een enkele map zal bevatten.
GOBIN
De bin directory waar go install
en go get
zullen binaries te plaatsen na de bouw van main
pakketten. Over het algemeen is dit ingesteld op ergens op het systeem PATH
zodat geïnstalleerde binaries gemakkelijk kunnen worden uitgevoerd en ontdekt.
GOROOT
Dit is de locatie van uw Go-installatie. Het wordt gebruikt om de standaardbibliotheken te vinden. Het is zeer zeldzaam om deze variabele in te stellen omdat Go het buildpad in de toolchain insluit. Het instellen van GOROOT
is nodig als de installatiemap verschilt van de GOROOT
(of de waarde die is ingesteld tijdens het bouwen).
Offline toegang tot documentatie
Voer voor de volledige documentatie de opdracht uit:
godoc -http=:<port-number>
Voor een rondleiding door Go (ten zeerste aanbevolen voor beginners in de taal):
go tool tour
De twee bovenstaande opdrachten start web-servers met documentatie vergelijkbaar met wat online hebben gevonden hier en hier respectievelijk.
Voor snelle referentiecontrole vanaf de opdrachtregel, bijv. Voor fmt.
godoc cmd/fmt Print
# or
go doc fmt Print
Algemene hulp is ook beschikbaar via de opdrachtregel:
go help [command]
Running Ga online
The Go Playground
Een weinig bekende Go-tool is The Go Playground . Als iemand met Go wil experimenteren zonder het te downloaden, kan dat eenvoudig door eenvoudig te doen. . .
- De Playground bezoeken in hun webbrowser
- Voer hun code in
- Klik op "Uitvoeren"
Uw code delen
De Go Playground heeft ook tools om te delen; als een gebruiker op de knop 'Delen' drukt, wordt een link (zoals deze ) gegenereerd die naar andere mensen kan worden verzonden om te testen en te bewerken.