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.