Szukaj…


Wprowadzenie

Polecenie go to program wiersza polecenia, który umożliwia zarządzanie rozwojem Go. Umożliwia budowanie, uruchamianie i testowanie kodu, a także szereg innych zadań związanych z Go.

Iść biegać

go run program bez tworzenia pliku wykonywalnego. Głównie przydatne do rozwoju. run tylko pakiety, których nazwa pakietu jest główna .

Aby to zademonstrować, użyjemy prostego przykładu Hello World main.go :

package main

import fmt

func main() {
    fmt.Println("Hello, World!")
}

Wykonaj bez kompilacji do pliku:

go run main.go

Wynik:

Hello, World!

Uruchom wiele plików w pakiecie

Jeśli pakiet jest główny i podzielony na wiele plików, należy dołączyć inne pliki do polecenia run :

go run main.go assets.go

Idź budować

go build skompiluje program do pliku wykonywalnego.

Aby to zademonstrować, użyjemy prostego przykładu Hello World main.go:

package main

import fmt
    
func main() {
    fmt.Println("Hello, World!")
}

Skompiluj program:

go build main.go

build tworzy program wykonywalny, w tym przypadku: main lub main.exe . Następnie możesz uruchomić ten plik, aby zobaczyć wynik Hello, World! . Możesz także skopiować go do podobnego systemu, w którym nie ma zainstalowanego Go, ustawić go jako wykonywalny i uruchomić tam.

Podaj system operacyjny lub architekturę w kompilacji:

Możesz określić, który system lub architekturę zbudować, modyfikując env przed build :

env GOOS=linux go build main.go # builds for Linux
env GOARCH=arm go build main.go # builds for ARM architecture

Zbuduj wiele plików

Jeśli Twój pakiet jest podzielony na wiele plików, a nazwa pakietu jest główna (to znaczy, że nie jest to pakiet do importowania ), musisz określić wszystkie pliki do zbudowania:

go build main.go assets.go # outputs an executable: main

Budowanie pakietu

Aby zbudować pakiet o nazwie main , możesz po prostu użyć:

go build . # outputs an executable with name as the name of enclosing folder

Idź czysty

go clean wyczyści wszystkie pliki tymczasowe utworzone podczas wywoływania go build w programie. Oczyści również pliki pozostałe z Makefiles.

Idź Fmt

go fmt sformatuje kod źródłowy programu w zgrabny, idiomatyczny sposób, który jest łatwy do odczytania i zrozumienia. Zaleca się użycie go fmt na dowolnym źródle przed przesłaniem go do publicznego oglądania lub zatwierdzeniem w systemie kontroli wersji, aby ułatwić czytanie.

Aby sformatować plik:

go fmt main.go

Lub wszystkie pliki w katalogu:

go fmt myProject

Możesz także użyć gofmt -s ( nie go fmt ), aby uprościć dowolny kod, który może.

gofmt ( nie go fmt ) może być również użyty do refaktoryzacji kodu. Rozumie Go, więc jest potężniejszy niż proste wyszukiwanie i zamiana. Na przykład, biorąc pod uwagę ten program ( main.go ):

package main

type Example struct {
    Name string
}

func (e *Example) Original(name string) {
    e.Name = name
}

func main() {
    e := &Example{"Hello"}
    e.Original("Goodbye")
}

Możesz zamienić metodę Original Refactor gofmt :

gofmt -r 'Original -> Refactor' -d main.go

Który wytworzy diff:

-func (e *Example) Original(name string) {
+func (e *Example) Refactor(name string) {
     e.Name = name
 }
 
 func main() {
     e := &Example{"Hello"}
-    e.Original("Goodbye")
+    e.Refactor("Goodbye")
 }

Idź Zdobądź

go get pobiera pakietów nazwanych przez ścieżkach importowych wraz z ich zależnościami. Następnie instaluje nazwane pakiety, takie jak „go install”. Get akceptuje również flagi kompilacji do kontrolowania instalacji.

przejdź na github.com/maknahar/phonecountry

Podczas sprawdzania nowego pakietu get tworzy katalog docelowy $GOPATH/src/<import-path> . Jeśli GOPATH zawiera wiele wpisów, get używa pierwszego. Podobnie, zainstaluje skompilowane pliki binarne w $GOPATH/bin .

Podczas sprawdzania lub aktualizowania pakietu, szukaj oddziału lub znacznika, który pasuje do lokalnie zainstalowanej wersji Go. Najważniejszą zasadą jest to, że jeśli w instalacji lokalnej jest uruchomiona wersja „go1”, należy wyszukać gałąź lub tag o nazwie „go1”. Jeśli taka wersja nie istnieje, pobiera najnowszą wersję pakietu.

Podczas korzystania z funkcji go get flaga -d powoduje pobranie, ale nie zainstalowanie danego pakietu. Opcja -u pozwoli zaktualizować pakiet i jego zależności.

Nigdy nie pobieraj ani nie aktualizuj kodu przechowywanego w katalogach dostawców.

Idź środowisko

go env [var ...] drukuje informacje o środowisku go.

Domyślnie drukuje wszystkie informacje.

$go env

GOARCH="amd64"
GOBIN=""
GOEXE=""
GOHOSTARCH="amd64"
GOHOSTOS="darwin"
GOOS="darwin"
GOPATH="/Users/vikashkv/work"
GORACE=""
GOROOT="/usr/local/Cellar/go/1.7.4_1/libexec"
GOTOOLDIR="/usr/local/Cellar/go/1.7.4_1/libexec/pkg/tool/darwin_amd64"
CC="clang"
GOGCCFLAGS="-fPIC -m64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=/var/folders/xf/t3j24fjd2b7bv8c9gdr_0mj80000gn/T/go-build785167995=/tmp/go-build -gno-record-gcc-switches -fno-common"
CXX="clang++"
CGO_ENABLED="1"

Jeśli jedna lub więcej nazw zmiennych podano jako argumenty, wypisuje wartość każdej nazwanej zmiennej w swoim własnym wierszu.

$go env GOOS GOPATH

darwin
/Users/vikashkv/work


Modified text is an extract of the original Stack Overflow Documentation
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow