go doc în Go

Afișează în terminal documentația unui pachet, a unei funcții, a unui tip sau a unei metode.

Sintaxă
go doc pachet
go doc pachet.Simbol
go doc pachet.Tip.Metoda
go doc -all pachet
go doc -src pachet.Functie
go doc -http           # documentația în browser (Go 1.25)

Ce face go doc

go doc citește comentariile din cod și afișează documentația, fără internet. Funcționează pentru biblioteca standard (go doc strings.ToUpper), pentru dependențele din go.mod și pentru pachetele tale (go doc ./preturi).

Documentația în Go este chiar comentariul scris imediat deasupra declarației, care începe cu numele elementului: // CuTVA returnează prețul cu TVA inclus. Comentariul de deasupra lui package descrie pachetul. Aceleași comentarii apar pe pkg.go.dev. Cu -http, go doc pornește un server local și deschide documentația în browser.

Parametri

Parametru Descriere
-all Toată documentația pachetului.
-src Codul sursă al elementului.
-short Câte un rând pentru fiecare element.
-u Include și elementele neexportate.

Exemple

Exemplul 1: Biblioteca standard

go doc strings.ToUpper

Rezultat în terminal

package strings // import "strings"

func ToUpper(s string) string
    ToUpper returns s with all Unicode letters mapped to their upper case.

Exemplul 2: Documentația propriului pachet

Comentariile din preturi.go devin documentație.

go doc ./preturi
go doc ./preturi CuTVA

Rezultat în terminal

package preturi // import "exemplu.ro/magazin/preturi"

Package preturi calculează prețuri cu TVA și reduceri.

const TVA = 0.21
func CuTVA(pret float64) float64
func Reducere(pret, procent float64) float64
package preturi // import "exemplu.ro/magazin/preturi"

func CuTVA(pret float64) float64
    CuTVA returnează prețul cu TVA inclus.

Greșeli frecvente

  • Comentariu de documentație care nu începe cu numele elementului: funcționează, dar nu respectă convenția Go.
  • Rând gol între comentariu și declarație: comentariul nu mai este considerat documentație.

Comenzi înrudite

  • go list: Listează pachete sau module și informații despre ele (fișiere, importuri, versiuni), în text sau JSON.
  • vizibilitate (exportat/neexportat): Numele care încep cu literă mare sunt vizibile din alte pachete; cele cu literă mică rămân private pachetului.
  • 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.