Go Samouczek
Rozpoczęcie pracy z Go
Szukaj…
Uwagi
Go jest otwartym, skompilowanym, statycznie typowanym językiem w tradycji Algola i C. Oferuje on funkcje takie jak wyrzucanie elementów bezużytecznych, ograniczone pisanie strukturalne, funkcje bezpieczeństwa pamięci oraz łatwe w obsłudze współbieżne programowanie w stylu CSP .
Wersje
Najnowsze główne wydanie jest pogrubione poniżej. Pełną historię wydań można znaleźć tutaj .
Wersja | Data wydania |
---|---|
1.8.3 | 2017-05-24 |
1.8.0 | 16.02.2017 |
1.7.0 | 15.08.2016 |
1.6.0 | 17.02.2016 |
1.5.0 | 19.08.2015 |
1.4.0 | 2014-12-04 |
1.3.0 | 2014-06-18 |
1.2.0 | 01.12.2013 |
1.1.0 | 2013-05-13 |
1.0.0 | 28.03.2012 |
Witaj świecie!
Umieść następujący kod w nazwie pliku hello.go
:
package main
import "fmt"
func main() {
fmt.Println("Hello, 世界")
}
Po prawidłowym zainstalowaniu Go
program można skompilować i uruchomić w następujący sposób:
go run hello.go
Wynik:
Hello, 世界
Gdy kod jest zadowolony, można go skompilować do pliku wykonywalnego, uruchamiając:
go build hello.go
Spowoduje to utworzenie pliku wykonywalnego odpowiedniego dla systemu operacyjnego w bieżącym katalogu, który można następnie uruchomić za pomocą następującego polecenia:
Linux, OSX i inne systemy uniksopodobne
./hello
Windows
hello.exe
Uwaga : Chińskie znaki są ważne, ponieważ pokazują, że ciągi Go są przechowywane jako wycinki bajtów tylko do odczytu.
FizzBuzz
Innym przykładem programów w stylu „Hello World” jest FizzBuzz . To jest jeden przykład implementacji FizzBuzz. Bardzo idiomatyczny Przejdź tutaj.
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)
}
}
}
Zmienne środowiskowe Listing Go
Zmienne środowiskowe wpływające na narzędzie go
można wyświetlić za pomocą komendy 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"
Domyślnie drukuje listę jako skrypt powłoki; Jeśli jednak jako argument podano jedną lub więcej nazw zmiennych, wypisuje wartość każdej nazwanej zmiennej.
$go env GOOS GOPATH
linux
/home/yourname
Konfiguracja środowiska
Jeśli Go nie jest wstępnie zainstalowany w twoim systemie, możesz przejść do https://golang.org/dl/ i wybrać platformę do pobrania i zainstalowania Go.
Aby skonfigurować podstawowe środowisko programistyczne Go, należy ustawić tylko kilka z wielu zmiennych środowiskowych, które wpływają na zachowanie narzędzia go
(Zobacz: Listowanie zmiennych środowiska Go, aby uzyskać pełną listę) (ogólnie w ~/.profile
twojej powłoki plik lub odpowiednik w systemach operacyjnych typu Unix).
GOPATH
Podobnie jak systemowa PATH
środowiskowa PATH
, ścieżka Go to :
( ;
w systemie Windows) lista katalogów, w których Go będzie szukał pakietów. Narzędzie go get
pobierze również pakiety do pierwszego katalogu na tej liście.
GOPATH
to miejsce, w którym Go skonfiguruje powiązane foldery bin
, pkg
i src
potrzebne dla obszaru roboczego:
-
src
- lokalizacja plików źródłowych:.go
,.c
,.g
,.s
-
pkg
- skompilował pliki.a
-
bin
- zawiera pliki wykonywalne zbudowane przez Go
Począwszy od wersji 1.8 1.8, GOPATH
środowiskowa GOPATH
będzie miała wartość domyślną, jeśli nie jest ustawiona. Domyślnie jest to $ HOME / go na Unix / Linux i% USERPROFILE% / go na Windows.
Niektóre narzędzia zakładają, że GOPATH
będzie zawierać pojedynczy katalog.
GOBIN
W katalogu bin gdzie go install
i go get
umieści binaria po wybudowaniu main
pakiety. Zasadniczo jest to ustawione gdzieś w systemie PATH
dzięki czemu zainstalowane pliki binarne mogą być łatwo uruchamiane i wykrywane.
GOROOT
To jest lokalizacja instalacji Go. Służy do wyszukiwania standardowych bibliotek. Bardzo rzadko trzeba ustawić tę zmienną, ponieważ Go osadza ścieżkę kompilacji w łańcuchu narzędzi. Ustawienie GOROOT
jest potrzebne, jeśli katalog instalacyjny różni się od katalogu kompilacji (lub wartości ustawionej podczas budowania).
Dostęp do dokumentacji offline
Aby uzyskać pełną dokumentację, uruchom polecenie:
godoc -http=:<port-number>
Na wycieczkę po Go (wysoce zalecane dla początkujących w języku):
go tool tour
Dwie powyższe komendy uruchomią serwery WWW z dokumentacją podobną do tej, którą można znaleźć online tutaj i tutaj .
Do szybkiego sprawdzania referencji z wiersza poleceń, np. Dla fmt. Drukuj:
godoc cmd/fmt Print
# or
go doc fmt Print
Ogólna pomoc jest również dostępna z wiersza poleceń:
go help [command]
Uruchamianie Przejdź do trybu online
Plac zabaw Go
Jednym z mało znanych narzędzi Go jest The Go Playground . Jeśli ktoś chce eksperymentować z Go bez pobierania go, może to łatwo zrobić po prostu. . .
- Odwiedzanie placu zabaw w przeglądarce internetowej
- Wprowadzanie ich kodu
- Kliknięcie „Uruchom”
Udostępnianie kodu
Go Playground ma również narzędzia do udostępniania; jeśli użytkownik naciśnie przycisk „Udostępnij”, zostanie wygenerowany link (taki jak ten ), który można wysłać innym osobom w celu przetestowania i edycji.