Ce face go get
go get modifică dependențele modulului curent: adaugă un modul nou în go.mod (descărcându-l în cache), schimbă versiunea unui modul existent sau îl elimină (@none). Versiunea se scrie după @: un tag (@v1.5.0), @latest, o ramură sau un commit.
Din Go 1.18, go get nu mai instalează programe; pentru asta există go install. go get -u ./... actualizează toate dependențele la ultimele versiuni minore și de corecție (dar nu sare la o versiune majoră nouă, care are altă cale, ca /v2).
Parametri
| Parametru | Descriere |
|---|---|
modul@versiune |
Calea modulului (sau a unui pachet din el) și, opțional, versiunea. |
-u |
Actualizează și dependențele modulului cerut. |
-t |
Ia în calcul și dependențele testelor. |
Exemple
Exemplul 1: Adăugare, schimbare de versiune și eliminare
go get github.com/google/uuid
go get github.com/google/uuid@v1.5.0
go get github.com/google/uuid@latest
go get github.com/google/uuid@none
Rezultat în terminal
go: downloading github.com/google/uuid v1.6.0
go: added github.com/google/uuid v1.6.0
go: downloading github.com/google/uuid v1.5.0
go: downgraded github.com/google/uuid v1.6.0 => v1.5.0
go: upgraded github.com/google/uuid v1.5.0 => v1.6.0
go: removed github.com/google/uuid v1.6.0
Exemplul 2: Folosirea dependenței în cod
Identificatorul generat este aleatoriu, deci diferă la fiecare rulare.
package main
import (
"fmt"
"github.com/google/uuid"
)
func main() {
id := uuid.NewString()
fmt.Println("comanda nouă:", id)
}
Rezultat posibil (diferă la fiecare rulare)
comanda nouă: 3f6c2b9e-8d41-4c1a-9a7e-52b0e4d1f8a3
Greșeli frecvente
go getpentru a instala un program:'go get' is no longer supported outside a modulesau adaugă doar o dependență. Foloseștego install modul@latest.go get -ufără teste după: actualizările pot schimba comportamentul. Ruleazăgo test ./....- Căutarea versiunii majore noi cu
@latest:v2+are altă cale (github.com/autor/proiect/v2).
Comenzi înrudite
go mod tidy: Aduce go.mod și go.sum în acord cu importurile din cod: adaugă dependențele lipsă și le șterge pe cele nefolosite.go install: Compilează un program și pune executabilul în directorul bin (GOBIN sau GOPATH/bin), ca să-l poți rula de oriunde.module și pachete: Un pachet este un director cu fișiere .go; un modul (go.mod) este un proiect cu mai multe pachete și dependențele lor.go list: Listează pachete sau module și informații despre ele (fișiere, importuri, versiuni), în text sau JSON.