Postfazione
Se hai davvero letto attentamente sia la sezione sulla sintassi che quella avanzata e hai scritto il codice, allora riconoscerai che la sintassi di Go in realtà non è difficile, le caratteristiche non sono molte e le persone con esperienza possono iniziare in pochi giorni. È completamente un linguaggio orientato all'ingegneria, e questo lo sperimenterai gradualmente nella codifica futura. Se dopo aver completato lo studio ti senti incapace di applicare le tue conoscenze e desideri approfondire ulteriormente, posso fornire i seguenti percorsi di apprendimento e progetti di esempio come riferimento.
Sviluppo Web
Lo sviluppo Web è uno scenario di applicazione molto comune nel linguaggio Go. Puoi provare i seguenti framework Web open source:
- Gin
- Echo
- Iris
- Hertz
- net/http, oppure puoi utilizzare la libreria standard HTTP nativa di Go senza framework
Se desideri sviluppare microservizi, consiglio i seguenti framework open source:
Poi devi interagire con il database. Consiglio le seguenti librerie open source:
Puoi fare riferimento ai seguenti progetti per l'apprendimento:
- gin vue admin
- go-zero-looklook
- gin-admin, per progetti Web monolitici consiglio di fare riferimento a questo progetto per l'apprendimento
- go-platform, per progetti di microservizi consiglio di fare riferimento a questo progetto per l'apprendimento
Comunicazioni IM
Utilizzare Go per lo sviluppo IM, consiglio i seguenti progetti open source:
Programmazione di Rete
Go ha molte applicazioni anche nel campo della programmazione di rete. Di seguito sono riportati alcuni progetti open source di riferimento:
Server di Gioco
Nel campo dei server di gioco, sempre più aziende si stanno spostando nella direzione di Go:
Sviluppo di Database
Lo sviluppo di database richiede una certa base tecnica. Anche i database o motori basati su Go non sono pochi. Basta leggere il loro codice sorgente per richiedere molto tempo:
- badger, database KV ad alta velocità
- dgraph, database a grafo
- cayley, database a grafo
- etcd, database a valori distribuito
- rosedb, database a valori, la scelta migliore per iniziare
- nutsdb, database a valori
- prometheus, database di serie temporali
- tidb, database di serie temporali
- cockroach, database SQL distribuito
- rqlite, database distribuito basato su SQLite
Strumenti a Riga di Comando
Go è molto adatto per lo sviluppo di strumenti CLI a riga di comando. Di seguito sono riportati alcuni framework o librerie per lo sviluppo a riga di comando:
- flag, libreria standard flag
- cobra, consiglio vivamente di utilizzare cobra per lo sviluppo CLI. Molti progetti famosi sono basati su cobra, come Docker, K8S, ecc.
- go-pretty, utilizzato per output esteticamente gradevoli nella riga di comando
- cli, framework a riga di comando leggero
- kingpin, libreria potente e flessibile per l'analisi della riga di comando
Poiché cobra è molto utilizzato, ci sono molti progetti basati su di esso per lo sviluppo a riga di comando. Puoi trovarne facilmente. Di seguito sono solo alcuni progetti di riferimento:
Quanto sopra elenca solo i campi più comuni. Puoi vedere che Go è ampiamente utilizzato nel campo del server, mentre meno nel client. In realtà, Go ha anche molte applicazioni in altri campi, come webrtc, blockchain, archiviazione oggetti, cloud computing, ecc. Se sei interessato, puoi scoprire autonomamente su Github.
Infine, se desideri comprendere più approfonditamente i dettagli di implementazione del linguaggio Go, come le strutture dati sottostanti di slice e map, l'implementazione dello scheduler delle coroutine, il processo di GC (Garbage Collection), ecc., vai alla sezione Principi di Implementazione per ulteriori contenuti.
