Heim > Backend-Entwicklung > Golang > Teilen Sie zehn ausgezeichnete Go-Bibliotheken

Teilen Sie zehn ausgezeichnete Go-Bibliotheken

Guanhui
Freigeben: 2020-06-16 17:47:57
nach vorne
4330 Leute haben es durchsucht

Teilen Sie zehn ausgezeichnete Go-Bibliotheken

1. Golang-Set

Go hat Arrays, Slices und Maps, aber keine Sets. Sie können eine boolesche Karte verwenden, um eine Sammlung zu simulieren, es ist jedoch besser, einen tatsächlichen Datentyp mit den richtigen Operationen und der richtigen Semantik zu haben.

Dies ist die Adresse von Golang-Set

2. Farbe

Lassen Sie uns mit der Einführung von Farbe fortfahren. Beim Schreiben von Befehlsprogrammen ist es sehr nützlich, Farben zu verwenden, um wichtige Nachrichten hervorzuheben und Fehler, Erfolge und Warnungen zu unterscheiden. Das

Farbpaket bietet eine einfache Möglichkeit, Ihrem Programm etwas Farbe hinzuzufügen (sehen Sie, was ich getan habe?). Es verwendet ANSII-Escape-Codes und unterstützt auch Windows!

4. Gen

Das Gen-Tool generiert Code für Sie – insbesondere typbewussten Code, der versucht, den Mangel an Vorlagen oder Generika in Go auszugleichen

Sie können Ihren Typ mit einer speziellen Anmerkung versehen und gen generiert die in Ihrem Projekt enthaltenen Quelldateien.

5. Gorm

Go ist für seinen minimalistischen Stil bekannt. Datenbankprogrammierung ist keine Ausnahme. Die beliebtesten DB-Bibliotheken in Go sind sehr Low-Level-Bibliotheken. Gorm führt die objektrelationale Zuordnung in die folgenden Funktionen ein:

  • Assoziation (Hat eins, hat viele, gehört zu, viele zu vielen, Polymorphismus)

  • Rückruf (vor/nach dem Erstellen/Speichern/Aktualisieren/Löschen/Suchen)

  • Vorladen (Vorladen)

  • Transaktion

  • Zusammengesetzter Primärschlüssel

  • SQL Builder

  • Automatische Migration

  • Protokoll

  • Erweiterbar, Schreiben von Plug-Ins basierend auf GORM-Rückrufen

Aber das deckt nicht alles ab.

Wenn Sie bereits in Python entwickelt haben, verlassen Sie sich bitte nicht auf SQLAlchemy.

Für eine erweiterte Nutzung müssen Sie sich die unterste Ebene ansehen.

6. Goose

Eine der wichtigsten Aufgaben bei der Arbeit mit einer relationalen Datenbank ist die Verwaltung des Schemas.

In einigen Unternehmen wird die Änderung des Datenbankschemas als „beängstigende“ Änderung angesehen. Das goose-Paket hilft Ihnen, das Schema zu ändern und bei Bedarf sogar eine Datenmigration durchzuführen. Sie können goose up und goose down nach Belieben verwenden. Behalten Sie jedoch Ihre Daten im Auge, um sicherzustellen, dass sie nicht verloren gehen oder beschädigt werden.

Goose funktioniert durch die Versionierung von Schemata und die Verwendung von Migrationsdateien, die jedem Schema entsprechen. Migrationsdateien können SQL-Befehle oder Go-Befehle verwenden. Hier ist ein Beispiel für eine SQL-Migrationsdatei, die eine neue Tabelle hinzufügt:

8. Ginkgo

Ginkgo ist ein BDD-Testframework (verhaltensgesteuerte Entwicklung). Sie können damit Tests mit einer englischsprachigen Syntax schreiben und weniger technisch versierte Personen können die Tests (und die Ausgabe) untersuchen und überprüfen, ob sie den Geschäftsanforderungen entsprechen.

Einige Entwickler mögen diese Art der Testspezifikation auch. Es lässt sich in das integrierte Testpaket von Go integrieren und wird häufig in Verbindung mit Gomega verwendet.

9. Etcd

Etcd ist ein zuverlässiger verteilter Schlüsselwertspeicher. Der Server ist in Go implementiert und Go-Clients interagieren über gRPC mit ihm.

Es konzentriert sich auf die folgenden Aspekte:

  • Einfach: Gut definierte, benutzerorientierte API (gRPC).

  • Sicherheit: Automatisches TLS mit optionaler Client-Zertifikatauthentifizierung.

  • Schnell: Benchmark 10.000 Schreibvorgänge/Sek.

  • Zuverlässig: Verwenden Sie Raft für eine angemessene Zuweisung.

10. NSQ

NSQ ist eine gute verteilte Warteschlange. Ich habe es erfolgreich als Hauptkomponente eines großen verteilten Systems eingesetzt. Hier sind einige seiner Funktionen:

  • Unterstützt verteilte Topologie und kein SPOF.

  • Horizontal skalierbar (keine Agenten, weitere Knoten können nahtlos zum Cluster hinzugefügt werden).

  • Push-basiertes Messaging mit geringer Latenz (Leistung).

  • Kombinierter Lastausgleich und Multicast-Nachrichtenrouting.

  • Verwenden Sie Excel sowohl für Streaming-Workloads (hoher Durchsatz) als auch für arbeitsorientierte Workloads (geringer Durchsatz).

  • Hauptsächlich im Speicher (Nachrichten, die die Obergrenze überschreiten, werden transparent auf der Festplatte gespeichert).

  • Ein Laufzeiterkennungsdienst (nsqlookupd), mit dem Verbraucher Produzenten finden können.

  • Transport Layer Security (TLS).

  • Datenformaterkennung.

  • Wenige Abhängigkeiten (einfach bereitzustellen) und sinnvolle, begrenzte Standardkonfiguration.

  • Das einfache TCP-Protokoll unterstützt jede Sprache in der Client-Bibliothek.

  • HTTP-Schnittstelle für Statistiken, Verwaltungsvorgänge und Produzenten (keine Notwendigkeit, Client-Bibliotheken zu veröffentlichen).

  • Integration mit statsd, um eine Echtzeiterkennung zu erreichen.

  • Robuste Cluster-Management-Schnittstelle (nsqadmin).

Empfohlenes Tutorial: „Go Tutorial

Das obige ist der detaillierte Inhalt vonTeilen Sie zehn ausgezeichnete Go-Bibliotheken. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:learnku.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage