Qual è la struttura di cartelle raccomandata per i progetti Go?
I piccoli progetti di solito non hanno bisogno di alcuna struttura. Tutto ciò di cui hai bisogno per iniziare è solo main.go
. Raccomando di iniziare sempre un progetto con un solo file main.go
.
Poi, una volta che il tuo progetto cresce (immagina, ti rendi conto che ora devi avere due binari), l’approccio comune è di aggiungere la cartella cmd/
. Può essere qualsiasi cartella, naturalmente, ma cmd
è qualcosa che ogni gopher riconosce immediatamente nel progetto.
Poi, una volta che il vostro codice cresce, iniziate ad aggiungere più file “.go” e più pacchetti – ognuno di essi sarà in una sottodirectory separata (per definizione). E qui molti nuovi arrivati si confondono e portano modelli di strutturazione da altri linguaggi o framework.
In molti altri linguaggi, la directory è usata per “mettere i nomi” a gruppi di file, come handlers
o models
, ma in Go, la directory è un pacchetto separato (cioè una libreria). Quindi “strutturare le cartelle” in Go significa in realtà “come astrarre il codice in sottopacchetti e quando”.
Ma in generale, non si pensa a strutturare il proprio repo a meno che il codice non lo richieda (cioè troppi file, astrazioni ovvie che possono essere riutilizzate e isolate in un proprio pacchetto, ecc).