Skip to content

Daftar Library Open Source Go

Mengumpulkan beberapa library dan framework open source pihak ketiga go untuk pengorganisasian dan klasifikasi, memudahkan untuk browsing selanjutnya, juga menyambut untuk mengirimkan pr untuk menambahkan proyek baru.

TIP

Urutan sebelum dan sesudah tidak mewakili peringkat, apakah bagus atau tidak harus dilihat berdasarkan pengalaman aktual.

Framework Web

NamaDeskripsiRepositori
ginFramework web paling klasikhttps://github.com/gin-gonic/gin
beegoFramework web yang dikembangkan oleh orang Tiongkokhttps://github.com/beego/beego
irisDikenal sebagai framework web tercepathttps://github.com/kataras/iris
echoFramework web berkinerja tinggi dan minimalishttps://github.com/labstack/echo
gojiFramework web yang sederhanahttps://github.com/zenazn/goji
revelFramework web full-stack yang tersedia tinggihttps://github.com/revel/revel
buffaloFramework web yang dapat dengan mudah membangun proyek full-stackhttps://github.com/gobuffalo/buffalo
hertzFramework HTTP mikro dengan kinerja tinggi dan skalabilitas kuat (open source oleh ByteDance)https://github.com/cloudwego/hertz
dotwebFramework web mini yang sederhanahttps://github.com/devfeel/dotweb
fiberFramework Web bergaya Node.js Expresshttps://github.com/gofiber/fiber

ORM

NamaDeskripsiRepositori
gormLibrary ORM yang ramah pengembanghttps://github.com/go-gorm/gorm
xormORM yang sederhana dan kuathttps://gitea.com/xorm/xorm
entORM open source oleh FaceBookhttps://github.com/ent/ent
sqlxEkstensi powerful untuk sqlhttps://github.com/jmoiron/sqlx
beego/ormorm bawaan beegohttps://github.com/astaxie/beego/tree/master/orm
relORM modern yang dapat diperluashttps://github.com/go-rel/rel
bunORM yang mengutamakan SQLhttps://github.com/uptrace/bun

Framework Microservice

NamaDeskripsiRepositori
kratosFramework microservice cloud native (open source oleh Bilibili)https://github.com/go-kratos/kratos
go-kitLibrary toolkit untuk pengembangan microservicehttps://github.com/go-kit/kit
kitexFramework microservice dengan kinerja tinggi dan skalabilitas (open source oleh ByteDance)https://github.com/cloudwego/kitex
go-zeroFramework microservice cloud native (open source oleh Qiniu Cloud)https://github.com/zeromicro/go-zero
go-microSebuah framework microservice dari luar negerihttps://github.com/go-micro/go-micro
kiteFramework microservice (sudah lama tidak diperbarui)https://github.com/koding/kite
dubbo-goImplementasi go dari java dubbo (open source oleh Alibaba)https://github.com/apache/dubbo-go
tarsgoImplementasi go dari tars (open source oleh Tencent)https://github.com/TarsCloud/TarsGo
juptiersFramework microservice yang berorientasi pada governance (open source oleh Douyu)https://github.com/douyu/jupiter
redsyncDistributed lock redishttps://github.com/go-redsync/redsync

Easter Egg

jupiter dari Douyu adalah nama dewa Zeus, adalah raja para dewa, sedangkan kratos dari Bilibili adalah nama dewa perang Kratos, Kratos kemudian membunuh raja para dewa Zeus.

Komponen Log

NamaDeskripsiRepositori
logrusLibrary log terstrukturhttps://github.com/sirupsen/logrus
zapLibrary log berkinerja tinggi open source oleh uberhttps://github.com/uber-go/zap
glogLog eksekusi berjenjanghttps://github.com/golang/glog
zerologLog json tanpa alokasi memorihttps://github.com/rs/zerolog
apex/logLibrary log terstrukturhttps://github.com/apex/log
lumberjackLibrary pemisahan log, mendukung pemisahan ukuran, pemisahan tanggal, kompresi filehttps://github.com/natefinch/lumberjack

Komponen Testing

NamaDeskripsiRepositori
testifyPaket testing paling populerhttps://github.com/stretchr/testify
ginkgoFramework testing modernhttps://github.com/onsi/ginkgo
ramsqlEngine SQL berbasis memori, terutama digunakan untuk testing unit SQLhttps://github.com/proullon/ramsql
go-sqlmockSQL Mock untuk testinghttps://github.com/DATA-DOG/go-sqlmock
goconveyTesting visualisasi di browserhttps://github.com/smartystreets/goconvey
go-stress-testingAlat pressure testinghttps://github.com/link1st/go-stress-testing
xgoFramework testing stub go, dicapai melalui penulisan ulang kode pada waktu kompilasihttps://github.com/xhd2015/xgo
gomonkeyFramework testing stub go, dicapai melalui modifikasi alamat fungsihttps://github.com/agiledragon/gomonkey

Pemrosesan Data

NamaDeskripsiRepositori
mapstructureKonversi timbal balik antara map dan structhttps://github.com/mitchellh/mapstructure
castKonversi tipe data yang sangat mudahhttps://github.com/spf13/cast
deepcopySalinan mendalamhttps://github.com/mohae/deepcopy
copierDapat menyalin nilai field dengan nama yang sama antar structhttps://github.com/jinzhu/copier
go-pinyinKonversi karakter Han ke pinyinhttps://github.com/mozillazg/go-pinyin
go-streamsPemrosesan data streaminghttps://github.com/reugn/go-streams
streamPemrosesan streaminghttps://github.com/xyctruth/stream
go-humanizeMengonversi data ke format yang dapat dibaca manusiahttps://github.com/dustin/go-humanize
unisegPemisahan teks Unicode, pembungkus kata, dan perhitungan lebar string di Gohttps://github.com/rivo/uniseg

Validasi Data

NamaDeskripsiRepositori
go-playground/validator/v10Validator datahttps://github.com/go-playground/validator
go-cmpLibrary untuk membandingkan nilai open source oleh Googlehttps://github.com/google/go-cmp
ozzo-validationLibrary validasi data berbasis aturanhttps://github.com/go-ozzo/ozzo-validation
go-tagexprLibrary validasi tag structhttps://github.com/bytedance/go-tagexpr

Struktur Data

NamaDeskripsiRepositori
godsImplementasi struktur data umumhttps://github.com/emirpasic/gods
go-datastructuresImplementasi struktur data umumhttps://github.com/Workiva/go-datastructures
bisetImplementasi bitsets di Gohttps://github.com/bits-and-blooms/bitset
bloomImplementasi bloom filters di Gohttps://github.com/bits-and-blooms/bloom
dequeImplementasi antrian double-ended berkinerja tinggihttps://github.com/edwingeng/deque
concurrent-mapImplementasi map terfragmentasi yang aman untuk konkurensihttps://github.com/orcaman/concurrent-map
samber/loLibrary pemrosesan data bergaya Lodash, mendukung generikhttps://github.com/samber/lo
google/btreeLibrary BTree yang diimplementasikan oleh Google, mendukung generikhttps://github.com/google/btree
gostlLibrary struktur data seperti C++STLhttps://github.com/liyue201/gostl

Perhitungan Matematika

NamaDeskripsiRepositori
gonumSebanding dengan numpyhttps://github.com/gonum/gonum
decimalLibrary operasi floating point presisi tinggihttps://github.com/shopspring/decimal
crunchLibrary yang menyederhanakan operasi byte dan bithttps://github.com/superwhiskers/crunch
math-engineLibrary engine parsing dan perhitungan ekspresi matematikahttps://github.com/dengsgo/math-engine

Engine Template

NamaDeskripsiRepositori
pongo2Engine template bergaya Djangohttps://github.com/flosch/pongo2
aceEngine template htmlhttps://github.com/yosssi/ace
mustacheImplementasi mustache di gohttps://github.com/hoisie/mustache
heroEngine template yang powerful dan cepathttps://github.com/shiyanhui/hero
quicktemplateEngine template berkinerja tinggi, sesuai namanyahttps://github.com/valyala/quicktemplate
amberEngine template yang berasal dari HAML dan Jadehttps://github.com/eknkc/amber

Komponen Cache

NamaDeskripsiRepositori
golang-lruLRU yang aman untuk thread, dan cache LRU 2Qhttps://github.com/hashicorp/golang-lru
ttlcacheCache berbasis memori, mendukung TTL, generikhttps://github.com/jellydator/ttlcache
gocacheManajer middleware cachehttps://github.com/eko/gocache
go-cacheCache berbasis memori, cocok untuk aplikasi single machine, mendukung TTLhttps://github.com/patrickmn/go-cache
ristrettoCache memori berkinerja tinggihttps://github.com/dgraph-io/ristretto
bigcacheCache key besar yang efisien berbasis memorihttps://github.com/allegro/bigcache

Database & Driver

NamaDeskripsiRepositori
modernc.org/sqliteDriver sqlite, ditulis murni dengan go, tidak memerlukan cgohttps://gitlab.com/cznic/sqlite
mattn/go-sqlite3Driver sqlite, memerlukan cgohttps://github.com/mattn/go-sqlite3
denisenkom/go-mssqldbDriver sqlserver, jarang diperbarui, direkomendasikan versi Microsofthttps://github.com/denisenkom/go-mssqldb
microsoft/go-mssqldbDriver sqlserver, branch baru yang di-fork dan dipelihara oleh Microsofthttps://github.com/microsoft/go-mssqldb
pgxDriver postgreSQLhttps://github.com/jackc/pgx/
mysqlDriver mysqlhttps://github.com/go-sql-driver/mysql
oci-go-sdkDriver resmi oraclehttps://github.com/oracle/oci-go-sdk
go-oraDriver oracle, ditulis murni dengan gohttps://github.com/sijms/go-ora
badgerDatabase kv embedded, berbasis LSMhttps://github.com/dgraph-io/badger
boltdbDatabase kv embedded, berbasis B+Treehttps://github.com/boltdb/bolt
goleveldbImplementasi leveldb dalam bahasa gohttps://github.com/syndtr/goleveldb
qmgoLibrary operasi mongodb open source oleh Qiniu Cloudhttps://github.com/qiniu/qmgo
mongo-go-driverDriver resmi mongodb gohttps://github.com/mongodb/mongo-go-driver
rqliteDatabase relasional terdistribusi ringan berbasis sqlitehttps://github.com/rqlite/rqlite/
go-mysqlKumpulan alat MySQL yang powerfulhttps://github.com/go-mysql-org/go-mysql
go-mysql-elasticsearchAlat untuk sinkronisasi data MySQL ke Elasticsearchhttps://github.com/go-mysql-org/go-mysql-elasticsearch
gofoundMesin pencarian teks penuh single machine tingkat miliaran,https://github.com/sea-team/gofound
bleveLibrary pencarian teks penuhhttps://github.com/blevesearch/bleve

Serialisasi

NamaDeskripsiRepositori
go-iniLibrary serialisasi file inihttps://github.com/go-ini/ini
sonicLibrary serialisasi json berkinerja tinggi open source oleh ByteDancehttps://github.com/bytedance/sonic
easyjsonLibrary serialisasi json cepathttps://github.com/mailru/easyjson
gjsonMendapatkan nilai key json dengan cepat, bukan library serialisasi tradisionalhttps://github.com/tidwall/gjson
go-yamlLibrary serialisasi yamlhttps://github.com/go-yaml/yaml
go-tomlLibrary serialisasi tomlhttps://github.com/pelletier/go-toml
propertiesLibrary serialisasi propertieshttps://github.com/magiconair/properties
viperMendukung serialisasi berbagai format data, juga merupakan manajer konfigurasihttps://github.com/spf13/viper
configorSerialisator berbagai format data yang ditulis oleh penulis gorm, manajer konfigurasihttps://github.com/jinzhu/configor

Baris Perintah

NamaDeskripsiRepositori
pflagPaket flag bergaya POSIX/GUNhttps://github.com/spf13/pflag
go-flagsParser argumen perintahhttps://github.com/jessevdk/go-flags
cobraScaffolding program baris perintah modernhttps://github.com/spf13/cobra
dimiro1/bannerLibrary pembuatan banner yang estetishttps://github.com/dimiro1/banner
go-prettyOutput tabel, teks, progress bar baris perintah yang estetishttps://github.com/jedib0t/go-pretty
progressbarProgress bar baris perintah yang aman untuk threadhttps://github.com/schollz/progressbar
go-ansiUtilitas urutan escape ANSI portabel Windows untuk bahasa Gohttps://github.com/k0kubun/go-ansi
go-isattyLibrary untuk menentukan ttyhttps://github.com/mattn/go-isatty

Kompresi & Dekompresi

NamaDeskripsiRepositori
klauspost/compressOptimasi dan transformasi dari library compress standarhttps://github.com/klauspost/compress
alexmullins/zipBranch fork dari library standar archive/zip, mendukung kata sandihttps://github.com/alexmullins/zip
mholt/archiverLibrary alat kompresi dan dekompresi yang mendukung banyak format (sangat direkomendasikan secara pribadi)https://github.com/mholt/archiver
go-carImplementasi file arsip CAR di gohttps://github.com/ipld/go-car
go-unarrLibrary kompresi dan dekompresihttps://github.com/gen2brain/go-unarr
xzLibrary Golang murni untuk membaca dan menulis file kompresi xzhttps://github.com/ulikunitz/xz

Tanggal & Waktu

NamaDeskripsiRepositori
carbonLibrary penanganan tanggal waktuhttps://github.com/golang-module/carbon
robfig/cronLibrary tugas terjadwalhttps://pkg.go.dev/github.com/robfig/cron/v3
gronLibrary tugas terjadwalhttps://github.com/roylee0704/gron
jobrunnerFramework tugas terjadwal asinkronhttps://github.com/bamzi/jobrunner
dateparseDapat mengurai string waktu tanpa mengetahui formathttps://github.com/araddon/dateparse
jinzhu/nowLibrary alat tanggalhttps://github.com/jinzhu/now

Dependency Injection

NamaDeskripsiRepositori
digLibrary dependency injection open source oleh uber, berbasis refleksihttps://darjun.github.io/2020/02/22/godailylib/dig/
wireLibrary dependency injection open source oleh Google, berbasis pembuatan kodehttps://github.com/google/wire
injectAlat dependency injectionhttps://github.com/codegangsta/inject
diWadah dependency injectionhttps://github.com/sarulabs/di

Lokasi Geografis

NamaDeskripsiRepositori
geoip2-golangKonversi IP ke informasi geografishttps://github.com/oschwald/geoip2-golang
ip2location-goKonversi IP ke informasi geografishttps://github.com/ip2location/ip2location-go

Framework Crawling

NamaDeskripsiRepositori
collyFramework crawling yang sederhana dan kuathttps://github.com/gocolly/colly
goqueryMirip dengan jQueryhttps://github.com/PuerkitoBio/goquery

Alat Jaringan

NamaDeskripsiRepositori
gentlemanKlien http yang digerakkan oleh plugin, dapat diperluashttps://github.com/h2non/gentleman
restyKlien http restfulhttps://pkg.go.dev/github.com/go-resty/resty/v2
gopeedManajer unduhan modern yang mendukung semua platform, berbasis go dan flutterhttps://github.com/GopeedLab/gopeed

Email

NamaDeskripsiRepositori
jordan-wright/emailLibrary pengiriman email yang kuat dan fleksibelhttps://github.com/jordan-wright/email
gomailLibrary pengiriman emailhttps://github.com/go-gomail/gomail
go-simple-mailLibrary pengiriman email yang sederhanahttps://github.com/xhit/go-simple-mail
go-mailLibrary pengiriman email yang mudah digunakan dan komprehensifhttps://github.com/wneessen/go-mail
email-verifierMemverifikasi apakah email valid, tanpa perlu mengirim emailhttps://github.com/AfterShip/email-verifier
maddyServer email modularhttps://github.com/foxcpp/maddy
moxServer email self-hosted yang komprehensif, open source, dan dapat dipelihara tinggihttps://github.com/mjl-/mox
hermesLibrary pembuatan template emailhttps://github.com/matcornic/hermes
listmonkManajemen daftar email berkinerja tinggi, self-hosted, dan visualhttps://github.com/knadh/listmonk
go-smtpKlien dan Server SMTP yang ditulis dengan gohttps://github.com/emersion/go-smtp
go-imapKlien dan Server IMAP yang ditulis dengan gohttps://github.com/emersion/go-imap

Pengembangan Game

NamaDeskripsiRepositori
ebitengineEngine game 2d yang sangat sederhanahttps://github.com/hajimehoshi/ebiten
Azul3DEngine game 3d yang ditulis dengan gohttps://github.com/azul3d/engine
engoEngine game 2d open source yang ditulis dengan gohttps://github.com/EngoEngine/engo
g3n/engineEngine game go3dhttps://github.com/g3n/engine
gonetSebuah framework server gamehttps://github.com/xtaci/gonet
leafFramework server gamehttps://github.com/name5566/leaf
cloud-gameLayanan game cloud berbasis webhttps://github.com/giongto35/cloud-game

GUI

NamaDeskripsiRepositori
fyneToolkit pengembangan GUI lintas platform (benar-benar ada sesuatu)https://github.com/fyne-io/fyne
go-flutterMenulis flutter dengan gohttps://github.com/go-flutter-desktop/go-flutter
WailsDapat dianggap sebagai替代品 Electron yang cepat dan ringan untuk Gohttps://github.com/wailsapp/wails

Interaksi Sistem

NamaDeskripsiRepositori
gopsutilMendapatkan informasi sistem operasi, kompatibel dengan sistem utamahttps://github.com/shirou/gopsutil
flockFile lock berbasis panggilan sistem operasihttps://github.com/gofrs/flock
sysLibrary interaksi sistem operasi resmihttps://cs.opensource.google/go/x/sys

Interaksi Lintas Bahasa

NamaDeskripsiRepositori
gopher-luaMesin lua yang ditulis dengan gohttps://github.com/yuin/gopher-lua
go-luaMesin lua yang ditulis dengan gohttps://github.com/Shopify/go-lua
gojaMendukung es5.1+https://github.com/dop251/goja
tengoTengo adalah bahasa skrip Go yang kecil, dinamis, cepat, dan amanhttps://github.com/d5/tengo
gobyBahasa skrip interpretatif yang terinspirasi dari ruby, diimplementasikan oleh gohttps://github.com/goby-lang/goby
go+Bahasa skrip open source oleh Qiniu Cloud, dapat berinteraksi tanpa hambatan dengan go, juga disebut bahasa Qhttps://github.com/goplus/gop
go-pythonMemanggil cpython2 dengan gohttps://github.com/sbinet/go-python
go-python3Memanggil cpython3 dengan gohttps://github.com/DataDog/go-python3

Pemrosesan Gambar

NamaDeskripsiRepositori
plotLibrary plotting, banyak digunakan untuk visualisasi datahttps://github.com/gonum/plot
ggLibrary plotting 2dhttps://github.com/fogleman/gg
gocvMendukung opencv4+https://github.com/hybridgroup/gocv
imagingLibrary pemrosesan gambar yang sederhanahttps://github.com/disintegration/imaging

Pemrosesan Teks

NamaDeskripsiRepositori
valeAlat proofreading teks dengan kesadaran tata bahasahttps://github.com/errata-ai/vale

Autentikasi & Otorisasi

NamaDeskripsiRepositori
casbinLibrary manajemen otorisasi yang fleksibel dan powerfulhttps://github.com/casbin/casbin
openfgaLibrary otorisasi/otorisasi berkinerja tinggi, berasal dari Google Zanzibarhttps://github.com/openfga/openfga

Pembuatan Kode

NamaDeskripsiRepositori
jenniferLibrary pembuatan kodehttps://github.com/dave/jennifer

Pemrosesan Regex

NamaDeskripsiRepositori
commonregxLibrary yang mengumpulkan ekspresi regex yang umum digunakanhttps://github.com/mingrammer/commonregex

Pemrosesan File

NamaDeskripsiRepositori
fileboxLibrary alat operasi filehttps://github.com/dstgo/filebox
sizeCepat menyelesaikan konversi antara ukuran file dan stringhttps://github.com/dstgo/size
checksumLibrary yang menghitung tanda tangan hash filehttps://github.com/codingsince1985/checksum
pdfcpuPemroses pdfhttps://github.com/pdfcpu/pdfcpu
uniofficeLibrary pemrosesan officehttps://github.com/unidoc/unioffice
gooxmlLibrary pemrosesan officehttps://github.com/carmel/gooxml
pdfcpuLibrary pemrosesan PDFhttps://github.com/pdfcpu/pdfcpu
excelizeLibrary pemrosesan Excelhttps://github.com/360EntSecGroup-Skylar/excelize

Alat Umum

NamaDeskripsiRepositori
lancetLibrary alat multifungsi, sebanding dengan paket common di javahttps://github.com/duke-git/lancet
bytebufferpoolKolam buffer bytehttps://github.com/valyala/bytebufferpool

Framework Pengembangan

NamaDeskripsiRepositori
goframeFramework pengembangan go enterprise modernhttps://github.com/gogf/gf

Protokol Konsensus

NamaDeskripsiRepositori
hashicorp/raftLibrary raft open source oleh consulhttps://github.com/hashicorp/raft
hashicorp/memberlistLibrary gossip open source oleh consulhttps://github.com/hashicorp/memberlist
etcd-io/raftLibrary raft open source oleh etcdhttps://github.com/etcd-io/raft

OCR

NamaDeskripsiRepositori
gosseractLibrary OCR yang menggunakan library Tesseract C++https://github.com/otiai10/gosseract

Golang by www.golangdev.cn edit