Skip to content

Go Open-Source-Bibliotheken Übersicht

Sammelt einige Open-Source-Go-Drittanbieter-Bibliotheken und Frameworks, kategorisiert sie für einfaches Durchsuchen. Beiträge durch PRs zur Hinzufügung neuer Projekte sind willkommen.

TIP

Die Reihenfolge stellt keine Wertung dar. Ob etwas gut zu verwenden ist, hängt von der tatsächlichen Erfahrung ab.

Web-Frameworks

NameBeschreibungRepository
ginDas klassischste Web-Frameworkhttps://github.com/gin-gonic/gin
beegoVon einem chinesischen Entwickler erstelltes Web-Frameworkhttps://github.com/beego/beego
irisBehauptet das schnellste Web-Framework zu seinhttps://github.com/kataras/iris
echoMinimalistisches, leistungsstarkes Web-Frameworkhttps://github.com/labstack/echo
gojiEinfaches Web-Frameworkhttps://github.com/zenazn/goji
revelHochverfügbares Full-Stack-Web-Frameworkhttps://github.com/revel/revel
buffaloWeb-Framework zum einfachen Erstellen von Full-Stack-Projektenhttps://github.com/gobuffalo/buffalo
hertzMicroservice-HTTP-Framework mit hoher Leistung und starker Erweiterbarkeit (von ByteDance Open Source)https://github.com/cloudwego/hertz
dotwebEin einfaches, leichtgewichtiges Web-Frameworkhttps://github.com/devfeel/dotweb
fiberNode.js Express-ähnliches Web-Frameworkhttps://github.com/gofiber/fiber

ORM

NameBeschreibungRepository
gormEntwicklerfreundliche ORM-Bibliothekhttps://github.com/go-gorm/gorm
xormEinfaches, leistungsstarkes ORMhttps://gitea.com/xorm/xorm
entVon Facebook Open Source bereitgestelltes ORMhttps://github.com/ent/ent
sqlxMächtige Erweiterung der sql-Bibliothekhttps://github.com/jmoiron/sqlx
beego/ormMitgeliefertes ORM von beegohttps://github.com/astaxie/beego/tree/master/orm
relErweiterbares, modernes ORMhttps://github.com/go-rel/rel
bunSQL-orientiertes ORMhttps://github.com/uptrace/bun

Microservice-Frameworks

NameBeschreibungRepository
kratosCloud-natives Microservice-Framework (Bilibili Open Source)https://github.com/go-kratos/kratos
go-kitEine Toolkit-Bibliothek für Microservice-Entwicklunghttps://github.com/go-kit/kit
kitexHochleistungsfähiges und erweiterbares Microservice-Framework (ByteDance Open Source)https://github.com/cloudwego/kitex
go-zeroCloud-natives Microservice-Framework (Qiniu Cloud Open Source)https://github.com/zeromicro/go-zero
go-microEin ausländisches Microservice-Frameworkhttps://github.com/go-micro/go-micro
kiteMicroservice-Framework (lange nicht aktualisiert)https://github.com/koding/kite
dubbo-goJava Dubbo Implementierung in Go (Alibaba Open Source)https://github.com/apache/dubbo-go
tarsgoTars Implementierung in Go (Tencent Open Source)https://github.com/TarsCloud/TarsGo
juptiersGovernance-orientiertes Microservice-Framework (Douyu Open Source)https://github.com/douyu/jupiter
redsyncRedis verteilte Sperrehttps://github.com/go-redsync/redsync

Osterei

Douyus jupiter ist der Name von Zeus, dem Göttervater, während Bilibilis kratos nach dem Kriegsgott Kratos benannt ist. Kratos tötete später Zeus, den Göttervater.

Logging-Komponenten

NameBeschreibungRepository
logrusStrukturierte Logging-Bibliothekhttps://github.com/sirupsen/logrus
zapVon Uber Open Source bereitgestellte Hochleistungs-Logging-Bibliothekhttps://github.com/uber-go/zap
glogGraduiertes Logginghttps://github.com/golang/glog
zerologJSON-Logging mit null Speicherallokationhttps://github.com/rs/zerolog
apex/logStrukturierte Logging-Bibliothekhttps://github.com/apex/log
lumberjackLog-Rotations-Bibliothek, unterstützt Größenrotation, Datumsrotation, Dateikomprimierunghttps://github.com/natefinch/lumberjack

Test-Komponenten

NameBeschreibungRepository
testifyDas beliebteste Test-Toolkithttps://github.com/stretchr/testify
ginkgoModernes Test-Frameworkhttps://github.com/onsi/ginkgo
ramsqlSpeicherbasierter SQL-Motor, hauptsächlich für SQL-Unit-Testshttps://github.com/proullon/ramsql
go-sqlmockSQL Mock für Testshttps://github.com/DATA-DOG/go-sqlmock
goconveyVisuelles Testen im Browserhttps://github.com/smartystreets/goconvey
go-stress-testingLasttest-Toolhttps://github.com/link1st/go-stress-testing
xgoGo Stubbing-Test-Framework, durch Kompilierzeit-Code-Rewriting implementierthttps://github.com/xhd2015/xgo
gomonkeyGo Stubbing-Test-Framework, durch Modifikation der Funktionsadresse implementierthttps://github.com/agiledragon/gomonkey

Datenverarbeitung

NameBeschreibungRepository
mapstructureMap zu Struct Konvertierung und umgekehrthttps://github.com/mitchellh/mapstructure
castBequeme Datentyp-Konvertierunghttps://github.com/spf13/cast
deepcopyTiefenkopiehttps://github.com/mohae/deepcopy
copierKopieren von Werten zwischen gleichnamigen Feldern in Structshttps://github.com/jinzhu/copier
go-pinyinChinesische Zeichen zu Pinyinhttps://github.com/mozillazg/go-pinyin
go-streamsStrombasierte Datenverarbeitunghttps://github.com/reugn/go-streams
streamStrombasierte Verarbeitunghttps://github.com/xyctruth/stream
go-humanizeDaten in menschenlesbare Formate umwandelnhttps://github.com/dustin/go-humanize
unisegUnicode-Textsegmentierung, Zeilenumbruch und String-Breitenberechnung in Gohttps://github.com/rivo/uniseg

Datenvalidierung

NameBeschreibungRepository
go-playground/validator/v10Datenvalidiererhttps://github.com/go-playground/validator
go-cmpVon Google Open Source bereitgestellte Bibliothek zum Vergleichen von Wertenhttps://github.com/google/go-cmp
ozzo-validationRegelbasierte Datenvalidierungsbibliothekhttps://github.com/go-ozzo/ozzo-validation
go-tagexprStruct-Tag-Validierungsbibliothekhttps://github.com/bytedance/go-tagexpr

Datenstrukturen

NameBeschreibungRepository
godsImplementierung gängiger Datenstrukturenhttps://github.com/emirpasic/gods
go-datastructuresImplementierung gängiger Datenstrukturenhttps://github.com/Workiva/go-datastructures
bisetBitsets-Implementierung in Gohttps://github.com/bits-and-blooms/bitset
bloomBloom-Filters-Implementierung in Gohttps://github.com/bits-and-blooms/bloom
dequeHochleistungsfähige Double-Ended-Queue-Implementierunghttps://github.com/edwingeng/deque
concurrent-mapNebenläufigkeitssichere Sharded-Map-Implementierunghttps://github.com/orcaman/concurrent-map
samber/loLodash-ähnliche Datenverarbeitungsbibliothek, unterstützt Genericshttps://github.com/samber/lo
google/btreeVon Google implementierte BTree-Bibliothek, unterstützt Genericshttps://github.com/google/btree
gostlC++ STL-ähnliche Datenstrukturbibliothekhttps://github.com/liyue201/gostl

Mathematische Berechnungen

NameBeschreibungRepository
gonumÄhnlich wie numpyhttps://github.com/gonum/gonum
decimalHochpräzise Fließkomma-Operationsbibliothekhttps://github.com/shopspring/decimal
crunchEine Bibliothek zur Vereinfachung von Byte- und Bitoperationenhttps://github.com/superwhiskers/crunch
math-engineBibliothek für mathematischen Ausdrucksparser und -berechnunghttps://github.com/dengsgo/math-engine

Template-Engines

NameBeschreibungRepository
pongo2Django-ähnliche Template-Enginehttps://github.com/flosch/pongo2
aceHTML-Template-Enginehttps://github.com/yosssi/ace
mustacheMustache-Implementierung in Gohttps://github.com/hoisie/mustache
heroLeistungsstarke, schnelle Template-Enginehttps://github.com/shiyanhui/hero
quictemplateDer Name sagt es alles, hochleistungsfähige Template-Enginehttps://github.com/valyala/quicktemplate
amberVon HAML und Jade inspirierte Template-Enginehttps://github.com/eknkc/amber

Cache-Komponenten

NameBeschreibungRepository
golang-lruThread-sicherer LRU und LRU 2Q Cachehttps://github.com/hashicorp/golang-lru
ttlcacheSpeicherbasierter Cache, unterstützt TTL und Genericshttps://github.com/jellydator/ttlcache
gocacheCache-Middleware-Managerhttps://github.com/eko/gocache
go-cacheSpeicherbasierter Cache, geeignet für Einzelanwendungen, unterstützt TTLhttps://github.com/patrickmn/go-cache
ristrettoHochleistungsfähiger Speicher-Cachehttps://github.com/dgraph-io/ristretto
bigcacheEffizienter Cache für große Schlüssel basierend auf Speicherhttps://github.com/allegro/bigcache

Datenbanken & Treiber

NameBeschreibungRepository
modernc.org/sqliteSQLite-Treiber, rein in Go geschrieben, benötigt kein CGOhttps://gitlab.com/cznic/sqlite
mattn/go-sqlite3SQLite-Treiber, benötigt CGOhttps://github.com/mattn/go-sqlite3
denisenkom/go-mssqldbSQLServer-Treiber, kaum noch Updates, Microsoft-Version empfohlenhttps://github.com/denisenkom/go-mssqldb
microsoft/go-mssqldbSQLServer-Treiber, neuer von Microsoft gepflegter Forkhttps://github.com/microsoft/go-mssqldb
pgxPostgreSQL-Treiberhttps://github.com/jackc/pgx/
mysqlMySQL-Treiberhttps://github.com/go-sql-driver/mysql
oci-go-sdkOffizieller Oracle-Treiberhttps://github.com/oracle/oci-go-sdk
go-oraOracle-Treiber, rein in Go geschriebenhttps://github.com/sijms/go-ora
badgerEingebettete KV-Datenbank, basierend auf LSMhttps://github.com/dgraph-io/badger
boltdbEingebettete KV-Datenbank, basierend auf B+Treehttps://github.com/boltdb/bolt
goleveldbGo-Implementierung von LevelDBhttps://github.com/syndtr/goleveldb
qmgoVon Qiniu Cloud Open Source bereitgestellte MongoDB-Operationsbibliothekhttps://github.com/qiniu/qmgo
mongo-go-driverOffizieller Go-Treiber für MongoDBhttps://github.com/mongodb/mongo-go-driver
rqliteLeichtgewichtige verteilte relationale Datenbank basierend auf SQLitehttps://github.com/rqlite/rqlite/
go-mysqlEine mächtige MySQL-Tool-Sammlunghttps://github.com/go-mysql-org/go-mysql
go-mysql-elasticsearchTool zur Synchronisation von MySQL-Daten nach Elasticsearchhttps://github.com/go-mysql-org/go-mysql-elasticsearch
gofoundStandalone-Volltextsuchmaschine für Milliarden von Dokumenten,https://github.com/sea-team/gofound
bleveVolltextsuch-Bibliothekhttps://github.com/blevesearch/bleve

Serialisierung

NameBeschreibungRepository
go-iniINI-Datei-Serialisierungsbibliothekhttps://github.com/go-ini/ini
sonicVon ByteDance Open Source bereitgestellte Hochleistungs-JSON-Serialisierungsbibliothekhttps://github.com/bytedance/sonic
easyjsonSchnelle JSON-Serialisierungsbibliothekhttps://github.com/mailru/easyjson
gjsonSchneller JSON-Schlüssel-Wert-Zugriff, keine traditionelle Serialisierungsbibliothekhttps://github.com/tidwall/gjson
go-yamlYAML-Serialisierungsbibliothekhttps://github.com/go-yaml/yaml
go-tomlTOML-Serialisierungsbibliothekhttps://github.com/pelletier/go-toml
propertiesProperties-Serialisierungsbibliothekhttps://github.com/magiconair/properties
viperUnterstützt Serialisierung mehrerer Datenformate, auch Konfigurationsmanagerhttps://github.com/spf13/viper
configorVom Gorm-Autor geschriebener Multi-Format-Serialisierer und Konfigurationsmanagerhttps://github.com/jinzhu/configor

Kommandozeile

NameBeschreibungRepository
pflagPOSIX/GNU-ähnliches Flag-Pakethttps://github.com/spf13/pflag
go-flagsKommandozeilenparameter-Parserhttps://github.com/jessevdk/go-flags
cobraModernes CLI-Anwendungs-Scaffoldhttps://github.com/spf13/cobra
dimiro1/bannerÄsthetische Banner-Erstellungsbibliothekhttps://github.com/dimiro1/banner
go-prettySchöne CLI-Tabellen, Text und Fortschrittsanzeigenhttps://github.com/jedib0t/go-pretty
progressbarThread-sichere CLI-Fortschrittsanzeigehttps://github.com/schollz/progressbar
go-ansiPortables ANSI-Escape-Sequenz-Dienstprogramm für Windows in Gohttps://github.com/k0kubun/go-ansi
go-isattyBibliothek zur TTY-Erkennunghttps://github.com/mattn/go-isatty

Komprimierung & Dekomprimierung

NameBeschreibungRepository
klauspost/compressOptimierte Version der compress-Standardbibliothekhttps://github.com/klauspost/compress
alexmullins/zipFork der archive/zip-Standardbibliothek, unterstützt Passworthttps://github.com/alexmullins/zip
mholt/archiverKomprimierungs-/Dekomprimierungstoolbibliothek für viele Formate (sehr empfohlen)https://github.com/mholt/archiver
go-carCAR-Archivdatei-Implementierung in Gohttps://github.com/ipld/go-car
go-unarrEine Komprimierungs-/Dekomprimierungsbibliothekhttps://github.com/gen2brain/go-unarr
xzReine Golang-Bibliothek zum Lesen und Schreiben von XZ-komprimierten Dateienhttps://github.com/ulikunitz/xz

Datum & Zeit

NameBeschreibungRepository
carbonDatums- und Zeitverarbeitungsbibliothekhttps://github.com/golang-module/carbon
robfig/cronCron-Job-Bibliothekhttps://pkg.go.dev/github.com/robfig/cron/v3
gronCron-Job-Bibliothekhttps://github.com/roylee0704/gron
jobrunnerAsynchrones Cron-Job-Frameworkhttps://github.com/bamzi/jobrunner
dataparseZeitstrings ohne Formatangabe parsenhttps://github.com/araddon/dateparse
jinzhu/nowDatums-Tool-Bibliothekhttps://github.com/jinzhu/now

Dependency Injection

NameBeschreibungRepository
digVon Uber Open Source bereitgestellte DI-Bibliothek, basierend auf Reflexionhttps://darjun.github.io/2020/02/22/godailylib/dig/
wireVon Google Open Source bereitgestellte DI-Bibliothek, basierend auf Codegenerierunghttps://github.com/google/wire
injectDependency-Injection-Toolhttps://github.com/codegangsta/inject
diDependency-Injection-Containerhttps://github.com/sarulabs/di

Geolokalisierung

NameBeschreibungRepository
geoip2-golangIP zu Geoinformationenhttps://github.com/oschwald/geoip2-golang
ip2location-goIP zu Geoinformationenhttps://github.com/ip2location/ip2location-go

Web-Crawling-Frameworks

NameBeschreibungRepository
collyEinfaches, mächtiges Crawler-Frameworkhttps://github.com/gocolly/colly
goqueryÄhnlich wie j-thinghttps://github.com/PuerkitoBio/goquery

Netzwerk-Tools

NameBeschreibungRepository
gentlemanPlugin-gesteuerter, erweiterbarer HTTP-Clienthttps://github.com/h2non/gentleman
restyRESTful HTTP-Clienthttps://pkg.go.dev/github.com/go-resty/resty/v2
gopeedModerner Download-Manager für alle Plattformen, basierend auf Go und Flutterhttps://github.com/GopeedLab/gopeed

E-Mail

NameBeschreibungRepository
jordan-wright/emailRobuste, flexible E-Mail-Versand-Bibliothekhttps://github.com/jordan-wright/email
gomailE-Mail-Versand-Bibliothekhttps://github.com/go-gomail/gomail
go-simple-mailEinfache E-Mail-Versand-Bibliothekhttps://github.com/xhit/go-simple-mail
go-mailEinfach zu verwendende, umfassende E-Mail-Versand-Bibliothekhttps://github.com/wneessen/go-mail
email-verifierE-Mail-Validierung ohne Versandhttps://github.com/AfterShip/email-verifier
maddyKombinierbarer Mailserverhttps://github.com/foxcpp/maddy
moxVollständig Open Source, gut gewartet, selbst gehosteter Mailserverhttps://github.com/mjl-/mox
hermesE-Mail-Vorlagen-Generatorhttps://github.com/matcornic/hermes
listmonkHochleistungsfähig, selbst gehostet, visuelle Mailinglistenverwaltunghttps://github.com/knadh/listmonk
go-smtpIn Go geschriebener SMTP-Client und -Serverhttps://github.com/emersion/go-smtp
go-imapIn Go geschriebener IMAP-Client und -Serverhttps://github.com/emersion/go-imap

Spielentwicklung

NameBeschreibungRepository
ebitengineEine super einfache 2D-Spiel-Enginehttps://github.com/hajimehoshi/ebiten
Azul3DEine in Go geschriebene 3D-Spiel-Enginehttps://github.com/azul3d/engine
engoIn Go geschriebene Open-Source-2D-Spiel-Enginehttps://github.com/EngoEngine/engo
g3n/engine3D-Spiel-Engine in Gohttps://github.com/g3n/engine
gonetEin Spielserver-Frameworkhttps://github.com/xtaci/gonet
leafSpielserver-Frameworkhttps://github.com/name5566/leaf
cloud-gameWebbasierte Cloud-Gaming-Serviceshttps://github.com/giongto35/cloud-game

GUI

NameBeschreibungRepository
fyneCross-Platform-GUI-Entwicklungs-Toolkit (wirklich beeindruckend)https://github.com/fyne-io/fyne
go-flutterFlutter mit Go schreibenhttps://github.com/go-flutter-desktop/go-flutter
WailsKann als schnelle und leichtgewichtige Electron-Alternative für Go betrachtet werdenhttps://github.com/wailsapp/wails

Systeminteraktion

NameBeschreibungRepository
gopsutilBetriebssysteminformationen abrufen, kompatibel mit gängigen Systemenhttps://github.com/shirou/gopsutil
flockAuf Systemaufrufen basierende Dateisperrehttps://github.com/gofrs/flock
sysOffizielle Betriebssystem-Interaktionsbibliothekhttps://cs.opensource.google/go/x/sys

Sprachübergreifende Interaktion

NameBeschreibungRepository
gopher-luaIn Go geschriebene Lua-VMhttps://github.com/yuin/gopher-lua
go-luaIn Go geschriebene Lua-VMhttps://github.com/Shopify/go-lua
gojaUnterstützt ES5.1+https://github.com/dop251/goja
tengoTengo ist eine kleine, dynamische, schnelle, sichere Go-Skriptsprachehttps://github.com/d5/tengo
gobyVon Ruby inspirierte, in Go implementierte interpretierte Skriptsprachehttps://github.com/goby-lang/goby
go+Von Qiniu Cloud Open Source bereitgestellte Skriptsprache, nahtlose Interaktion mit Go, auch Q-Sprache genannthttps://github.com/goplus/gop
go-pythonGo-Aufruf von CPython2https://github.com/sbinet/go-python
go-pytyon3Go-Aufruf von CPython3https://github.com/DataDog/go-python3

Bildverarbeitung

NameBeschreibungRepository
plotEine Plotting-Bibliothek, meist für Datenvisualisierunghttps://github.com/gonum/plot
gg2D-Zeichenbibliothekhttps://github.com/fogleman/gg
gocvUnterstützt OpenCV4+https://github.com/hybridgroup/gocv
imagingEine einfache Bildverarbeitungsbibliothekhttps://github.com/disintegration/imaging

Textverarbeitung

NameBeschreibungRepository
valeSyntax-aware Textkorrektur-Toolhttps://github.com/errata-ai/vale

Authentifizierung & Autorisierung

NameBeschreibungRepository
casbinFlexible, mächtige Berechtigungsverwaltungsbibliothekhttps://github.com/casbin/casbin
openfgaHochleistungsfähige Berechtigungs-/Autorisierungsbibliothek, basierend auf Google Zanzibarhttps://github.com/openfga/openfga

Codegenerierung

NameBeschreibungRepository
jenniferCodegenerierungsbibliothekhttps://github.com/dave/jennifer

Reguläre Ausdrücke

NameBeschreibungRepository
commonregxEine Bibliothek mit gesammelten gängigen regulären Ausdrückenhttps://github.com/mingrammer/commonregex

Dateiverarbeitung

NameBeschreibungRepository
fileboxDateioperations-Toolbibliothekhttps://github.com/dstgo/filebox
sizeSchnelle Konvertierung zwischen Dateigröße und Stringhttps://github.com/dstgo/size
checksumBibliothek zur Berechnung von Datei-Hash-Signaturenhttps://github.com/codingsince1985/checksum
pdfcpuPDF-Prozessorhttps://github.com/pdfcpu/pdfcpu
uniofficeOffice-Verarbeitungsbibliothekhttps://github.com/unidoc/unioffice
gooxmlOffice-Verarbeitungsbibliothekhttps://github.com/carmel/gooxml
pdfcpuPDF-Verarbeitungsbibliothekhttps://github.com/pdfcpu/pdfcpu
excelizeExcel-Verarbeitungsbibliothekhttps://github.com/360EntSecGroup-Skylar/excelize

Allgemeine Werkzeuge

NameBeschreibungRepository
lancetMultifunktionale Toolbibliothek, ähnlich wie Commons in Javahttps://github.com/duke-git/lancet
bytebufferpoolByte-Cache-Poolhttps://github.com/valyala/bytebufferpool

Entwicklungs-Frameworks

NameBeschreibungRepository
goframeModernes Unternehmens-Go-Entwicklungsframeworkhttps://github.com/gogf/gf

Konsens-Protokolle

NameBeschreibungRepository
hashicorp/raftVon Consul Open Source bereitgestellte Raft-Bibliothekhttps://github.com/hashicorp/raft
hashicorp/memberlistVon Consul Open Source bereitgestellte Gossip-Bibliothekhttps://github.com/hashicorp/memberlist
etcd-io/raftVon etcd Open Source bereitgestellte Raft-Bibliothekhttps://github.com/etcd-io/raft

OCR

NameBeschreibungRepository
gosseractOCR-Bibliothek mit Tesseract C++ Bibliothekhttps://github.com/otiai10/gosseract

Golang by www.golangdev.cn edit