Installa gli strumenti da riga di comando di Goa usando:
go install goa.design/goa/v3/cmd/goa@latest
goa gen
)goa gen <percorso-importazione-pacchetto-design> [-o <directory-output>]
Il comando goa gen
è lo strumento principale per la generazione del codice in Goa. Quando viene eseguito,
elabora il tuo pacchetto di design e genera il codice di implementazione completo
per i tuoi servizi. Ricrea l’intera directory gen/
da zero,
assicurando che tutto il codice generato rimanga sincronizzato con il tuo design. Dovresti eseguire questo
comando ogni volta che apporti modifiche al tuo design per rigenerare il
codice di implementazione.
goa example
)goa example <percorso-importazione-pacchetto-design> [-o <directory-output>]
Il comando goa example
ti aiuta a creare lo scaffolding della tua implementazione iniziale del servizio.
Crea implementazioni di esempio e genera stub di handler
con logica di base per aiutarti a iniziare. Questo comando è pensato per essere eseguito
una sola volta quando si avvia un nuovo progetto, poiché fornisce una base per la tua
implementazione personalizzata. È importante notare che è progettato per essere sicuro - non sovrascriverà
alcun codice personalizzato che hai già scritto, preservando il tuo lavoro esistente.
goa version
)goa version
Visualizza la versione installata di Goa.
Tutti i comandi si aspettano percorsi di importazione dei pacchetti Go, non percorsi del filesystem:
# ✅ Corretto: uso del percorso di importazione del pacchetto Go
goa gen goa.design/examples/calc/design
# ❌ Errato: uso del percorso del filesystem
goa gen ./design
Passi di inizializzazione per un nuovo progetto Goa:
goa gen
per generare il codice basegoa example
per creare gli stub di implementazioneDistribuire il servizio stub all’inizio allinea il tuo sviluppo iniziale con i flussi di lavoro di manutenzione regolari. Questo approccio ti permette di:
Una volta che il tuo servizio stub è distribuito, inizia il ciclo di sviluppo regolare. Questo
comporta l’implementazione della tua logica di servizio effettiva negli handler generati,
l’esecuzione di goa gen
ogni volta che apporti modifiche al tuo design, e il continuo
test e iterazione sulla tua implementazione. Questo ciclo assicura che la tua
implementazione rimanga sincronizzata con il tuo design mentre ti permette di concentrarti sulla
costruzione della logica di business principale del tuo servizio.
Il codice generato dovrebbe essere committato nel controllo versione piuttosto che generato durante le pipeline CI/CD. Ecco perché:
go get
funzionano in modo affidabile con il codice committato nei repositorygoa gen
dopo ogni modifica al design per mantenere l’implementazione sincronizzata