go list în Go

Listează pachete sau module și informații despre ele (fișiere, importuri, versiuni), în text sau JSON.

Sintaxă
go list ./...                     # pachetele modulului
go list -f '{{.Name}} {{.GoFiles}}' ./...
go list -json ./pachet
go list -m all                    # toate modulele (dependențe)
go list -m -u all                 # cu actualizări disponibile
go list std                       # biblioteca standard

Ce face go list

go list afișează pachetele care se potrivesc cu un tipar (./... = toate din modul). Cu -f alegi ce informații să afișeze, cu un șablon text/template: {{.ImportPath}}, {{.Name}}, {{.GoFiles}}, {{.Imports}}, {{.Dir}}. Cu -json primești toate câmpurile, potrivit pentru scripturi.

Cu -m lucrează cu module în loc de pachete: go list -m all arată toate dependențele cu versiunile folosite, iar go list -m -u all arată și versiunile mai noi disponibile.

Parametri

Parametru Descriere
-f șablon Formatul fiecărui rând.
-json Afișare în JSON.
-m Module în loc de pachete.
-u Cu -m: arată actualizările disponibile.

Exemple

Exemplul 1: Pachetele modulului

go list ./...
go list -f '{{.ImportPath}} {{.Name}} {{.GoFiles}}' ./...
go list std | wc -l

Rezultat în terminal

exemplu.ro/magazin
exemplu.ro/magazin/preturi
exemplu.ro/magazin main [main.go]
exemplu.ro/magazin/preturi preturi [preturi.go]
     381

Exemplul 2: Modulele și actualizările

Între paranteze drepte apare versiunea mai nouă disponibilă.

go list -m all
go list -m -u github.com/google/uuid

Rezultat în terminal

exemplu.ro/magazin
github.com/google/uuid v1.5.0
github.com/google/uuid v1.5.0 [v1.6.0]

Greșeli frecvente

  • go list fără argumente crezând că listează tot modulul: arată doar pachetul curent.
  • Șablon -f scris cu ghilimele duble în shell: {{.Name}} poate fi interpretat; folosește apostroafe.

Comenzi înrudite

  • go doc: Afișează în terminal documentația unui pachet, a unei funcții, a unui tip sau a unei metode.
  • 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 get: Adaugă, actualizează sau elimină dependențe în go.mod; descarcă modulele necesare.
  • 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.