Vad är den rekommenderade mappstrukturen för Go-projektet?
Små projekt behöver vanligtvis ingen struktur. Allt du behöver för att börja är bara main.go
. Jag rekommenderar att alltid starta ett projekt med bara en enda main.go
-fil.
När ditt projekt växer (tänk dig att du inser att du nu måste ha två binärer) är den vanliga metoden att lägga till cmd/
-mappen. Det kan naturligtvis vara vilken katalog som helst, men cmd
är något som varje gopher omedelbart känner igen i projektet.
När din kodbas växer börjar du lägga till fler ”.go”-filer och fler paket – var och en av dem kommer att ligga i en separat underkatalog (per definition). Och här blir många nykomlingar förvirrade och tar med sig struktureringsmönster från andra språk eller ramverk.
I många andra språk används katalogen för att ”namnge” en massa filer, som handlers
eller models
, men i Go är katalogen ett separat paket (dvs. ett bibliotek). Så ”strukturera mappar” i Go betyder egentligen ”hur och när abstraherar du koden i underpaket”.
Men i allmänhet tänker du inte på att strukturera din repo om inte din kodbas ber om det (t.ex. för många filer, uppenbara abstraktioner som kan återanvändas och isoleras i ett eget paket, etc.).