Postface
Si vous avez vraiment lu attentivement les chapitres sur la syntaxe et les notions avancées, et que vous avez écrit du code, alors vous réaliserez que la syntaxe de Go n'est en fait pas difficile, et qu'il n'y a pas beaucoup de fonctionnalités. Les personnes expérimentées peuvent être opérationnelles en quelques jours. C'est un langage entièrement orienté vers l'ingénierie, ce que vous comprendrez progressivement lors de votre codage futur. Si après avoir terminé votre apprentissage, vous vous sentez perdu et souhaitez approfondir vos connaissances, je peux vous proposer plusieurs pistes d'apprentissage et des exemples de projets à titre de référence.
Développement Web
Le développement Web est un scénario d'application très courant dans le langage Go. Vous pouvez essayer les frameworks Web open source suivants :
Si vous souhaitez développer des microservices, je recommande les frameworks open source suivants :
Ensuite, vous devrez interagir avec des bases de données. Je recommande les bibliothèques open source suivantes :
Vous pouvez vous référer aux projets suivants pour apprendre :
- gin vue admin
- go-zero-looklook
- gin-admin, pour les projets Web monolithiques, je recommande de se référer à ce projet pour apprendre
- go-platform, pour les projets de microservices, je recommande de se référer à ce projet pour apprendre
Communication IM
Pour le développement IM avec Go, je recommande les projets open source suivants :
Programmation réseau
Go a également de nombreuses applications dans le domaine de la programmation réseau. Voici quelques projets open source de référence :
Serveurs de jeux
Dans le domaine des serveurs de jeux, de plus en plus d'entreprises se tournent vers Go :
Développement de bases de données
Le développement de bases de données nécessite certaines compétences techniques. Il existe également de nombreuses bases de données ou moteurs basés sur le langage Go. Rien que la lecture de leur code source prendrait beaucoup de temps :
- badger, base de données kv haute vitesse
- dgraph, base de données graphe
- cayley, base de données graphe
- etcd, base de données clé-valeur distribuée
- rosedb, base de données clé-valeur, le meilleur choix pour débuter
- nutsdb, base de données clé-valeur
- prometheus, base de données de séries temporelles
- tidb, base de données de séries temporelles
- cockroach, base de données SQL distribuée
- rqlite, base de données distribuée basée sur SQLite
Outils en ligne de commande
Go est très adapté au développement d'outils CLI en ligne de commande. Voici quelques frameworks ou bibliothèques de développement en ligne de commande recommandés :
- flag, bibliothèque standard flag
- cobra, il est fortement recommandé d'utiliser cobra pour le développement CLI. De nombreux projets célèbres sont basés sur cobra, comme Docker, K8S, etc.
- go-pretty, utilisé pour des sorties esthétiques en ligne de commande
- cli, framework en ligne de commande léger
- kingpin, bibliothèque d'analyse en ligne de commande puissante et flexible
Comme cobra est très couramment utilisé, il existe de nombreux projets développés en ligne de commande basés sur celui-ci. Vous pouvez facilement en trouver. Voici quelques projets de référence :
Ce qui précède ne liste que les domaines les plus courants. Vous pouvez constater que Go est largement utilisé dans le domaine des serveurs, tandis qu'il est moins utilisé côté client. En réalité, Go a également de nombreuses applications dans d'autres domaines, comme webrtc, la blockchain, le stockage d'objets, le cloud computing, etc. Si vous êtes intéressé, vous pouvez vous renseigner par vous-même sur Github.
Enfin, si vous souhaitez approfondir les détails de l'implémentation du langage Go, comme les structures de données sous-jacentes de slice et map, l'implémentation du planificateur de goroutines, le processus de garbage collection GC, etc., consultez le chapitre Principes d'implémentation pour en savoir plus.
