Skip to content

Nachwort

Wenn Sie den Syntax- und Fortgeschrittenen-Abschnitt sorgfältig gelesen und den Code selbst geschrieben haben, werden Sie erkennen, dass die Go-Syntax gar nicht so schwierig ist und es nicht viele Sprachmerkmale gibt. Erfahrene Entwickler können oft innerhalb weniger Tage produktiv werden. Go ist eine Sprache, die vollständig auf die Praxis ausgerichtet ist – das werden Sie bei der weiteren Programmierung allmählich erkennen. Wenn Sie nach dem Lernen nicht wissen, wo Sie Ihre Fähigkeiten anwenden sollen und tiefer einsteigen möchten, kann ich folgende Lernpfade und Beispielprojekte zur Orientierung anbieten.

Web-Entwicklung

Web-Entwicklung ist ein sehr häufiges Anwendungsszenario in Go. Sie können folgende Open-Source-Web-Frameworks ausprobieren:

Für die Microservice-Entwicklung empfehle ich folgende Open-Source-Frameworks:

Für die Interaktion mit Datenbanken empfehle ich folgende Open-Source-Bibliotheken:

Sie können sich an folgenden Projekten orientieren:

IM-Kommunikation

Für die IM-Entwicklung mit Go empfehle ich folgende Open-Source-Projekte:

Netzwerkprogrammierung

Go hat sehr viele Anwendungen im Bereich der Netzwerkprogrammierung. Hier sind einige Open-Source-Projekte als Referenz:

Game Server

Im Bereich der Game-Server-Entwicklung wechseln immer mehr Unternehmen zu Go:

Datenbank-Entwicklung

Datenbank-Entwicklung erfordert ein gewisses technisches Fundament. Es gibt ebenfalls viele Datenbanken oder Engines auf Go-Basis. Allein das Lesen des Quellcodes kostet bereits viel Zeit:

  • badger, High-Speed-KV-Datenbank
  • dgraph, Graphdatenbank
  • cayley, Graphdatenbank
  • etcd, verteilte Key-Value-Datenbank
  • rosedb, Key-Value-Datenbank, beste Wahl für den Einstieg
  • nutsdb, Key-Value-Datenbank
  • prometheus, Zeitreihendatenbank
  • tidb, Zeitreihendatenbank
  • cockroach, verteilte SQL-Datenbank
  • rqlite, verteilte Datenbank basierend auf SQLite

Kommandozeilen-Tools

Go eignet sich hervorragend für die Entwicklung von CLI-Kommandozeilen-Tools. Hier sind einige Frameworks oder Bibliotheken für die Kommandozeilen-Entwicklung:

  • flag, flag-Standardbibliothek
  • cobra, für CLI-Entwicklung mit cobra dringend empfohlen. Viele bekannte Projekte basieren auf cobra, wie Docker, Kubernetes etc.
  • go-pretty, für schöne Ausgaben in der Kommandozeile
  • cli, leichtgewichtiges Kommandozeilen-Framework
  • kingpin, leistungsstarkes und flexibles Kommandozeilen-Parsing

Da cobra sehr häufig verwendet wird, gibt es sehr viele Projekte, die auf cobra für die Kommandozeilen-Entwicklung basieren. Hier sind nur einige Referenzprojekte:

Oben wurden nur die häufigsten Bereiche aufgeführt. Sie können sehen, dass Go im Server-Bereich weit verbreitet ist, während im Client-Bereich weniger Anwendungen zu finden sind. Tatsächlich wird Go auch in vielen anderen Bereichen eingesetzt, wie WebRTC, Blockchain, Objektspeicherung, Cloud Computing usw. Interessierte können sich auf Github weiter informieren.

Wenn Sie die Implementierungsdetails von Go noch tiefer verstehen möchten, wie die zugrunde liegenden Datenstrukturen von slice und map, die Implementierung des Goroutine-Schedulers, der GC-Garbage-Collection-Prozess usw., besuchen Sie den Abschnitt Implementierungsprinzipien.

Golang by www.golangdev.cn edit