Luar Biasa Pergi
Kami menggunakan komunitas Jembatan Golang Slack untuk komunikasi instan, ikuti formulir di sini untuk bergabung.
Sponsor:
Terima kasih khusus kepada
Aplikasi Anda, siap untuk perusahaan. Mulai menjual ke pelanggan perusahaan hanya dengan beberapa baris kode. Tambahkan Sistem Masuk Tunggal (dan lainnya) dalam hitungan menit, bukan bulan. |
|
Awesome Go tidak memungut biaya bulanan , tetapi kami memiliki karyawan yang bekerja keras untuk menjaganya tetap berjalan. Dengan dana yang terkumpul, kami dapat membalas upaya setiap orang yang terlibat! Anda dapat melihat bagaimana kami menghitung penagihan dan distribusi kami karena terbuka untuk seluruh komunitas. Ingin menjadi pendukung proyek klik di sini.
Daftar kerangka kerja, perpustakaan, dan perangkat lunak Go yang mengagumkan. Terinspirasi oleh python yang luar biasa.
Berkontribusi:
Silakan lihat sekilas pedoman kontribusi terlebih dahulu. Terima kasih kepada semua kontributor; kamu keren!
Jika Anda melihat paket atau proyek di sini yang tidak lagi dikelola atau tidak sesuai, silakan kirimkan permintaan penarikan untuk memperbaiki file ini. Terima kasih!
Isi
- Luar Biasa Pergi
- Isi
- Model Aktor
- Kecerdasan Buatan
- Audio dan Musik
- Otentikasi dan OAuth
- Blockchain
- Pembuatan Bot
- Bangun Otomatisasi
- Baris Perintah
- UI Konsol Tingkat Lanjut
- CLI standar
- Konfigurasi
- Integrasi Berkelanjutan
- Praprosesor CSS
- Kerangka Integrasi Data
- Struktur Data dan Algoritma
- Pengepakan bit dan Kompresi
- Set Bit
- Filter Bloom dan Cuckoo
- Struktur Data dan Pengumpulan Algoritma
- Iterator
- Peta
- Struktur Data dan Algoritma Lain-Lain
- Jenis yang Tidak Dapat Dibatalkan
- Antrian
- Set
- Analisis Teks
- Pohon
- Pipa
- Basis data
- Tembolok
- Database Diimplementasikan di Go
- Migrasi Skema Basis Data
- Alat Basis Data
- Pembuat Kueri SQL
- Driver Basis Data
- Antarmuka ke Beberapa Backend
- Driver Basis Data Relasional
- Driver Basis Data NoSQL
- Basis Data Pencarian dan Analitik
- Tanggal dan Waktu
- Sistem Terdistribusi
- DNS Dinamis
- E-mail
- Bahasa Skrip yang Dapat Disematkan
- Penanganan Kesalahan
- Penanganan Berkas
- Finansial
- Formulir
- Fungsional
- Pengembangan Permainan
- Generator
- Geografis
- Buka Kompiler
- Goroutine
- GUI
- Perangkat keras
- Gambar
- IoT (Internet Segala)
- Penjadwal Pekerjaan
- JSON
- Pencatatan
- Pembelajaran Mesin
- Pesan
- Microsoft Office
- Microsoft Excel
- Microsoft Word
- Aneka ragam
- Injeksi Ketergantungan
- Tata Letak Proyek
- string
- Tidak dikategorikan
- Pemrosesan Bahasa Alami
- Deteksi Bahasa
- Penganalisis Morfologi
- Slugifier
- Tokenizer
- Terjemahan
- Transliterasi
- Jaringan
- OpenGL
- ORM
- Manajemen Paket
- Pertunjukan
- Bahasa Kueri
- Cerminan
- Penyematan Sumber Daya
- Sains dan Analisis Data
- Keamanan
- Serialisasi
- Aplikasi Server
- Pemrosesan Aliran
- Mesin Templat
- Pengujian
- Kerangka Pengujian
- Mengejek
- Fuzzing dan delta-debugging/pengurangan/penyusutan
- Selenium dan alat kontrol browser
- Gagal injeksi
- Pemrosesan Teks
- Pemformat
- Bahasa Markup
- Parser/Encoder/Decoder
- Ekspresi Reguler
- Kebersihan
- Pencakar
- RSS
- Utilitas/Lain-lain
- API pihak ketiga
- Utilitas
- UUID
- Validasi
- Kontrol Versi
- Video
- Kerangka Web
- perangkat tengah
- Middleware yang sebenarnya
- Perpustakaan untuk membuat middleware HTTP
- Router
- Majelis Web
- jendela
- Kerangka Alur Kerja
- XML
- Nol Kepercayaan
- Analisis Kode
- Plugin Penyunting
- Pergi Hasilkan Alat
- Pergi Alat
- Paket Perangkat Lunak
- Alat DevOps
- Perangkat Lunak Lainnya
- Sumber daya
- Tolok ukur
- Konferensi
- E-Buku
- E-book untuk dibeli
- E-book gratis
- pedagang kaki lima
- Pertemuan
- Panduan Gaya
- Media Sosial
- Situs web
- Tutorial
- Pembelajaran Terpandu
⬆ kembali ke atas
Model Aktor
Perpustakaan untuk membangun program berbasis aktor.
- Ergo - Kerangka kerja berbasis aktor dengan transparansi jaringan untuk menciptakan arsitektur berbasis peristiwa di Golang. Terinspirasi oleh Erlang.
- Goakt - Kerangka kerja Aktor Cepat dan Terdistribusi menggunakan buffer protokol sebagai pesan untuk Golang.
- Hollywood - Mesin Aktor yang sangat cepat dan ringan ditulis dalam Golang.
- ProtoActor - Proto Actor - Aktor yang terdistribusi sangat cepat untuk Go, C# dan Java/Kotlin.
Kecerdasan Buatan
Perpustakaan untuk membangun program yang memanfaatkan AI.
- chromem-go - Basis data vektor yang dapat disematkan untuk Go dengan antarmuka mirip Chroma dan tidak ada ketergantungan pihak ketiga. Dalam memori dengan persistensi opsional.
- fun - Cara paling sederhana namun ampuh untuk menggunakan model bahasa besar (LLM) di Go.
- langchaingo - LangChainGo adalah kerangka kerja untuk mengembangkan aplikasi yang didukung oleh model bahasa.
- LocalAI - Alternatif OpenAI Sumber Terbuka, model AI yang dihosting sendiri.
- Ollama - Jalankan model bahasa besar secara lokal.
- OllamaFarm - Kelola, keseimbangan beban, dan paket failover Ollamas
⬆ kembali ke atas
Audio dan Musik
Perpustakaan untuk memanipulasi audio.
- flac - Encoder/decoder Native Go FLAC dengan dukungan untuk aliran FLAC.
- gaad - Pengurai bitstream Go AAC asli.
- GoAudio - Perpustakaan Pemrosesan Audio Go Asli.
- gosamplerate - pengikatan libsamplerate untuk go.
- id3v2 - Pustaka decoding dan pengkodean ID3 untuk Go.
- malgo - Perpustakaan audio mini.
- minimp3 - Pustaka decoder MP3 yang ringan.
- Oto - Perpustakaan tingkat rendah untuk memutar suara di berbagai platform.
- PortAudio - Go binding untuk perpustakaan I/O audio PortAudio.
⬆ kembali ke atas
Otentikasi dan OAuth
Perpustakaan untuk mengimplementasikan skema otentikasi.
- authboss - Sistem otentikasi modular untuk web. Ia mencoba menghapus sebanyak mungkin boilerplate dan "hal-hal sulit" sehingga setiap kali Anda memulai proyek web baru di Go, Anda dapat menyambungkannya, mengonfigurasinya, dan mulai membangun aplikasi Anda tanpa harus membangun sistem autentikasi setiap saat. .
- branca - implementasi spesifikasi token branca untuk Golang 1.15+.
- casbin - Pustaka otorisasi yang mendukung model kontrol akses seperti ACL, RBAC, dan ABAC.
- cookiestxt - menyediakan parser format file cookies.txt.
- go-guardian - Go-Guardian adalah perpustakaan golang yang menyediakan cara sederhana, bersih, dan idiomatis untuk membuat API modern dan autentikasi web yang kuat yang mendukung autentikasi berbasis LDAP, Basic, Bearer token, dan Certificate.
- go-jose - Implementasi yang cukup lengkap dari JSON Web Token, JSON Web Signatures, dan spesifikasi JSON Web Encryption dari kelompok kerja JOSE.
- gologin - penangan yang dapat dirantai untuk login dengan penyedia otentikasi OAuth1 dan OAuth2.
- gorbac - menyediakan implementasi kontrol akses berbasis peran (RBAC) yang ringan di Golang.
- gosession - Ini adalah sesi cepat untuk net/http di GoLang. Paket ini mungkin merupakan implementasi terbaik dari mekanisme sesi, atau setidaknya mencoba menjadi salah satunya.
- goth - menyediakan cara sederhana, bersih, dan idiomatis untuk menggunakan OAuth dan OAuth2. Menangani banyak penyedia secara langsung.
- jeff - Manajemen sesi web yang sederhana, fleksibel, aman, dan idiomatis dengan backend yang dapat dicolokkan.
- jwt - Pustaka JSON Web Token (JWT) yang ringan.
- jwt - Token Web JSON yang aman, sederhana, dan cepat untuk Go.
- jwt-auth - Middleware JWT untuk server http Golang dengan banyak opsi konfigurasi.
- jwt-go - Implementasi JSON Web Tokens (JWT) berfitur lengkap. Perpustakaan ini mendukung penguraian dan verifikasi serta pembuatan dan penandatanganan JWT.
- jwx - Modul Go yang mengimplementasikan berbagai teknologi JWx (JWA/JWE/JWK/JWS/JWT, atau dikenal sebagai JOSE)
- keto - Implementasi Open Source (Go) dari "Zanzibar: Sistem Otorisasi Global yang Konsisten dari Google". Mengirimkan gRPC, REST API, newSQL, dan bahasa izin yang mudah dan terperinci. Mendukung ACL, RBAC, dan model akses lainnya.
- loginsrv - Layanan mikro login JWT dengan backend yang dapat dicolokkan seperti OAuth2 (Github), htpasswd, osiam.
- oauth2 - Penerus goauth2. Paket Generik OAuth 2.0 yang dilengkapi dengan dukungan JWT, Google API, Compute Engine, dan App Engine.
- oidc - Pustaka klien dan server OpenID Connect yang mudah digunakan yang ditulis untuk Go dan disertifikasi oleh OpenID Foundation
- openfga - Penerapan otorisasi terperinci berdasarkan makalah "Zanzibar: Sistem Otorisasi Global yang Konsisten dari Google". Didukung oleh CNCF.
- osin - perpustakaan server Golang OAuth2.
- otpgen - Perpustakaan untuk menghasilkan kode TOTP/HOTP.
- otpgo - Pustaka Kata Sandi Satu Kali Berbasis Waktu (TOTP) dan Kata Sandi Satu Kali Berbasis HMAC (HOTP) untuk Go.
- paseto - Implementasi Golang dari Platform-Agnostic Security Token (PASETO).
- perizinan2 - Perpustakaan untuk melacak pengguna, status login, dan izin. Menggunakan cookie aman dan bcrypt.
- scope - Kelola Cakupan OAuth2 dengan Mudah di Go.
- scs - Manajer Sesi untuk server HTTP.
- securecookie - Pengkodean/dekode cookie aman yang efisien.
- session - Manajemen sesi Go untuk server web (termasuk dukungan untuk Google App Engine - GAE).
- sesi - Layanan sesi yang sangat sederhana, berkinerja tinggi, dan sangat dapat disesuaikan untuk server go http.
- sessionup - Paket manajemen dan identifikasi sesi HTTP yang sederhana namun efektif.
- sjwt - Generator dan parser jwt sederhana.
⬆ kembali ke atas
Blockchain
Alat untuk membangun blockchain.
- cometbft - Mesin replikasi mesin negara deterministik yang terdistribusi, toleran terhadap kesalahan Bizantium. Ini adalah cabang dari Tendermint Core dan mengimplementasikan algoritma konsensus Tendermint.
- cosmos-sdk - Kerangka Kerja untuk Membangun Blockchain Publik di Ekosistem Cosmos.
- gno - Paket kontrak pintar komprehensif yang dibuat dengan Golang dan Gnolang, varian Go yang deterministik dan dibuat khusus untuk blockchain.
- go-ethereum - Implementasi Go resmi dari protokol Ethereum.
- gosemble - Kerangka kerja berbasis Go untuk membangun runtime yang kompatibel dengan Polkadot/Substrat.
- gossamer - Implementasi Go dari Polkadot Host.
- kubo - Kerangka kerja blockchain yang diimplementasikan di Go. Ini menyediakan penyimpanan beralamat konten yang dapat digunakan untuk penyimpanan terdesentralisasi di DApps. Ini didasarkan pada protokol IPFS.
- lnd - Implementasi lengkap dari node Lighting Network.
- solana-go - Pustaka Go untuk berinteraksi dengan antarmuka Solana JSON RPC dan WebSocket.
- tendermint - Middleware berkinerja tinggi untuk mengubah mesin negara yang ditulis dalam bahasa pemrograman apa pun menjadi mesin negara yang direplikasi Toleransi Kesalahan Bizantium menggunakan konsensus Tendermint dan protokol blockchain.
⬆ kembali ke atas
Pembuatan Bot
Perpustakaan untuk membangun dan bekerja dengan bot.
- bot - Pustaka Bot Telegram tanpa ketergantungan dengan komponen UI tambahan
- echotron - Pustaka yang elegan dan bersamaan untuk Bot Telegram di Go.
- peran sementara - Bot Perselisihan untuk mengelola peran sementara berdasarkan kehadiran anggota saluran suara.
- go-chat-bot - bot IRC, Slack & Telegram yang ditulis dalam Go.
- go-joe - Pustaka bot serba guna yang terinspirasi oleh Hubot tetapi ditulis dalam Go.
- go-sarah - Kerangka untuk membuat bot untuk layanan obrolan yang diinginkan termasuk LINE, Slack, Gitter, dan banyak lagi.
- go-tg - Dihasilkan dari pustaka klien Go dokumen resmi untuk mengakses API Bot Telegram, termasuk baterai untuk membuat bot kompleks.
- go-tgbot - Pembungkus API Golang Telegram Bot murni, dihasilkan dari file swagger, router berbasis sesi, dan middleware.
- go-twitch-irc - Perpustakaan untuk menulis bot untuk obrolan twitch.tv
- Golang CryptoTrading Bot - Implementasi golang dari bot perdagangan berbasis konsol untuk pertukaran mata uang kripto.
- govkbot - Pustaka bot Go VK sederhana.
- hanu - Kerangka untuk menulis bot Slack.
- Kelp - bot perdagangan dan pembuat pasar resmi untuk Stellar DEX. Berfungsi out-of-the-box, ditulis dalam Golang, kompatibel dengan bursa terpusat dan strategi perdagangan khusus.
- Larry - Larry ? adalah generator bot Twitter yang sangat sederhana yang men-tweet repositori acak dari Github yang dibangun di Go.
- margelet - Kerangka untuk membangun bot Telegram.
- micha - Go Library untuk bot api Telegram.
- olivia - Chatbot yang dibangun dengan jaringan saraf tiruan.
- slack-bot - Siap menggunakan Slack Bot untuk pengembang yang malas: Perintah khusus, Jenkins, Jira, Bitbucket, Github...
- pemalas - Kerangka kerja yang mudah digunakan untuk membuat bot Slack.
- slackscot - Kerangka kerja lain untuk membuat bot Slack.
- tbot - Server bot Telegram dengan API mirip dengan net/http.
- telebot - Kerangka bot Telegram ditulis dalam Go.
- telego - Pustaka API Bot Telegram untuk Golang dengan implementasi API satu-ke-satu penuh.
- telegram-bot-api - Klien bot Telegram yang sederhana dan bersih.
- teleterm - Perintah Terminal Telegram Bot Exec.
- Tenyks - Bot IRC berorientasi layanan menggunakan Redis dan JSON untuk pengiriman pesan.
- wayback - Bot untuk Telegram, Mastodon, Slack, dan platform perpesanan lainnya mengarsipkan halaman web.
⬆ kembali ke atas
Bangun Otomatisasi
Perpustakaan dan alat membantu membangun otomatisasi.
- 1build - Alat baris perintah untuk mengelola perintah spesifik proyek tanpa hambatan.
- air - Air - Isi ulang langsung untuk aplikasi Go.
- anko - Pengamat aplikasi sederhana untuk berbagai bahasa pemrograman.
- gaper - Membangun dan memulai ulang proyek Go ketika crash atau beberapa file yang diawasi berubah.
- gilbert - Membangun sistem dan pelari tugas untuk proyek Go.
- gob - Gradle/Maven seperti alat pembangunan untuk proyek Go.
- goyek - Membuat pipeline build di Go.
- mage - Mage adalah alat pembuatan make/rake-like menggunakan Go.
- mmake - Merek Modern.
- sadari - Bangun sistem dengan pengamat file dan langsung memuat ulang. Jalankan, buat, dan lihat perubahan file dengan jalur khusus.
- Tugasnya adalah "membuat" alternatif sederhana.
- taskctl - Pelari tugas bersamaan.
- xc - Pelari tugas dengan tugas yang ditentukan README.md, penurunan harga yang dapat dieksekusi.
⬆ kembali ke atas
Baris Perintah
UI Konsol Tingkat Lanjut
Perpustakaan untuk membangun Aplikasi Konsol dan Antarmuka Pengguna Konsol.
- asciigraph - Paket Go untuk membuat grafik garis ASCII ringan ╭┈╯ di aplikasi baris perintah tanpa ketergantungan lain.
- aurora - warna terminal ANSI yang mendukung fmt.Printf/Sprintf.
- box-cli-maker - Buat Kotak yang Sangat Disesuaikan untuk CLI Anda.
- bubble-table - Komponen tabel interaktif untuk bubbletea.
- gelembung - komponen TUI untuk bubbletea.
- bubbletea - Kerangka kerja Go untuk membangun aplikasi terminal, berdasarkan Arsitektur Elm.
- cfmt - Fmt kontekstual yang terinspirasi oleh kelas warna bootstrap.
- cfmt - Output bergaya berformat sederhana dan nyaman yang sepenuhnya kompatibel dengan perpustakaan fmt.
- chalk - Paket intuitif untuk mempercantik keluaran terminal/konsol.
- colourize - Buka perpustakaan untuk teks warna ANSI di terminal.
- crab-config-files-templating - Alat templating file konfigurasi dinamis untuk manifes kubernetes atau file konfigurasi umum.
- ctc - Pustaka warna terminal lintas platform non-invasif tidak perlu mengubah metode Cetak.
- go-ataman - Pustaka Go untuk merender templat teks berwarna ANSI di terminal.
- go-colorable - Penulis berwarna untuk windows.
- go-colortext - Pustaka Go untuk keluaran warna di terminal.
- go-isatty - isatty untuk golang.
- go-palette - Pustaka Go yang menyediakan definisi gaya elegan dan nyaman menggunakan warna ANSI. Sepenuhnya kompatibel & membungkus perpustakaan fmt untuk tata letak terminal yang bagus.
- go-prompt - Perpustakaan untuk membuat prompt interaktif yang kuat, terinspirasi oleh python-prompt-toolkit.
- gocui - Pustaka Go minimalis yang ditujukan untuk membuat Antarmuka Pengguna Konsol.
- gommon/warna - Gaya teks terminal.
- gookit/color - Pustaka alat rendering warna terminal, mendukung 16 warna, 256 warna, output rendering warna RGB, kompatibel dengan Windows.
- lipgloss - Menentukan gaya warna, format, dan tata letak secara deklaratif di terminal.
- marker - Cara termudah untuk mencocokkan dan menandai string untuk keluaran terminal berwarna-warni.
- mpb - Bilah kemajuan multi untuk aplikasi terminal.
- bilah kemajuan - Bilah kemajuan dasar thread-safe yang berfungsi di setiap OS.
- pterm - Pustaka untuk mempercantik keluaran konsol di setiap platform dengan banyak komponen yang dapat digabungkan.
- simpletable - Tabel sederhana di terminal dengan Go.
- spinner - Paket Go untuk menyediakan opsi kepada terminal spinner dengan mudah.
- tabby - Perpustakaan kecil untuk tabel Golang super sederhana.
- table - Perpustakaan kecil untuk tabel berbasis warna terminal.
- tabular - Cetak tabel ASCII dari utilitas baris perintah tanpa perlu meneruskan kumpulan data dalam jumlah besar ke API.
- termbox-go - Termbox adalah perpustakaan untuk membuat antarmuka berbasis teks lintas platform.
- termdash - Dasbor terminal Go berdasarkan termbox-go dan terinspirasi oleh termui.
- termenv - Dukungan gaya & warna ANSI tingkat lanjut untuk aplikasi terminal Anda.
- termui - Dasbor terminal Go berdasarkan termbox-go dan terinspirasi oleh berkah-kontribusi.
- uilive - Perpustakaan untuk memperbarui keluaran terminal secara real time.
- uiprogress - Pustaka fleksibel untuk merender bilah kemajuan dalam aplikasi terminal.
- uitable - Perpustakaan untuk meningkatkan keterbacaan di aplikasi terminal menggunakan data tabular.
- yacspin - Paket CLi Spinner lainnya, untuk bekerja dengan terminal spinner.
⬆ kembali ke atas
CLI standar
Perpustakaan untuk membangun aplikasi Command Line standar atau dasar.
- acmd - Paket CLI yang sederhana, berguna, dan berpendirian keras di Go.
- argparse - Pengurai argumen baris perintah yang terinspirasi oleh modul argparse Python.
- argv - Buka perpustakaan untuk membagi string baris perintah sebagai array argumen menggunakan sintaks bash.
- karapas - Generator penyelesaian argumen perintah untuk spf13/cobra.
- carapace-bin - Penyempurna argumen multi-perintah multi-shell.
- carapace-spec - Tentukan penyelesaian sederhana menggunakan file spesifikasi.
- klimaks - CLI alternatif dengan "wajah manusia", sesuai dengan semangat perintah Go.
- clîr - Pustaka CLI yang Sederhana dan Jelas. Bebas ketergantungan.
- cmd - Memperluas paket
flag
standar untuk mendukung sub perintah dan lebih banyak lagi dengan cara idiomatis. - cmdr - Pustaka UI Go baris perintah bergaya POSIX/GNU.
- cobra - Komandan untuk interaksi Go CLI modern.
- command-chain - Pustaka go untuk mengonfigurasi dan menjalankan rantai perintah - seperti pipelining di shell unix.
- commandeer - Aplikasi CLI yang ramah pengembang: menyiapkan tanda, default, dan penggunaan berdasarkan bidang struct dan tag.
- selesai - Tulis penyelesaian bash di perintah Go + Go penyelesaian bash.
- Dnote - Buku catatan baris perintah sederhana dengan sinkronisasi multi-perangkat.
- elfish - Bahasa pemrograman ekspresif dan shell interaktif serbaguna.
- env - Konfigurasi lingkungan berbasis tag untuk struct.
- flag - Pustaka parsing opsi baris perintah yang sederhana namun kuat untuk subperintah pendukung Go.
- flaggy - Paket flag yang kuat dan idiomatis dengan dukungan subperintah yang sangat baik.
- flagvar - Kumpulan tipe argumen flag untuk paket
flag
standar Go. - go-andotp - Program CLI untuk mengenkripsi/mendekripsi file danOTP. Bisa dijadikan perpustakaan juga.
- go-arg - Penguraian argumen berbasis struktur di Go.
- go-commander - Pustaka Go untuk menyederhanakan alur kerja CLI.
- go-flags - buka pengurai opsi baris perintah.
- go-getoptions - Pengurai opsi Go yang terinspirasi oleh fleksibilitas GetOpt::Long dari Perl.
- gocmd - Pustaka Go untuk membuat aplikasi baris perintah.
- hiboot cli - kerangka aplikasi cli dengan konfigurasi otomatis dan injeksi ketergantungan.
- pekerjaan - PEKERJAAN, jadikan perintah jangka pendek Anda sebagai pekerjaan jangka panjang.
- gembong - Baris perintah dan pengurai bendera yang mendukung sub perintah (digantikan oleh
kong
; lihat di bawah). - liner - Buka perpustakaan seperti readline untuk antarmuka baris perintah.
- mcli - Pustaka cli yang minimal namun sangat kuat untuk Go.
- mitchellh/cli - Pustaka Go untuk mengimplementasikan antarmuka baris perintah.
- mkideal/cli - Paket baris perintah yang kaya fitur dan mudah digunakan berdasarkan tag struct golang.
- mow.cli - Pustaka Go untuk membangun aplikasi CLI dengan penguraian dan validasi flag dan argumen yang canggih.
- ops - Pembuat/Orkestrator Unikernel.
- pflag - Pengganti drop-in untuk paket flag Go, yang mengimplementasikan --flags bergaya POSIX/GNU.
- perpustakaan Shell readline dengan fitur UI yang modern dan mudah digunakan.
- sand - API sederhana untuk membuat juru bahasa dan banyak lagi.
- sflags - Generator flag berbasis struktur untuk flag, urfave/cli, pflag, cobra, kingpin, dan perpustakaan lainnya.
- strumt - Perpustakaan untuk membuat rantai cepat.
- subcmd - Pendekatan lain untuk mengurai dan menjalankan subperintah. Bekerja bersama paket
flag
standar. - survey - Buat prompt yang interaktif dan dapat diakses dengan dukungan penuh untuk terminal windows dan posix.
- teris-io/cli - API sederhana dan lengkap untuk membangun antarmuka baris perintah di Go.
- ts - Alat konversi & perbandingan stempel waktu.
- ukautz/clif - Kerangka antarmuka baris perintah kecil.
- urfave/cli - Paket sederhana, cepat, dan menyenangkan untuk membuat aplikasi baris perintah di Go (sebelumnya codegangsta/cli).
- version - Mengumpulkan dan menampilkan informasi versi CLI dalam berbagai format bersama dengan pemberitahuan peningkatan.
- wlog - Antarmuka logging sederhana yang mendukung warna dan konkurensi lintas platform.
- wmenu - Struktur menu yang mudah digunakan untuk aplikasi cli yang meminta pengguna membuat pilihan.
⬆ kembali ke atas
Konfigurasi
Perpustakaan untuk penguraian konfigurasi.
- aconfig - Pemuat konfigurasi yang sederhana, berguna, dan berpendirian keras.
- bcl - BCL adalah bahasa konfigurasi yang mirip dengan HCL.
- cleanenv - Pembaca konfigurasi minimalis (dari file, ENV, dan di mana pun Anda inginkan).
- config - Konfigurasi aplikasi asli cloud. Ikat ENV ke struct hanya dalam dua baris.
- config - konfigurasikan aplikasi Anda menggunakan file, variabel lingkungan, atau tanda dalam dua baris kode
- konfigurasi - Perpustakaan untuk menginisialisasi struct konfigurasi dari variabel env, file, flag, dan tag 'default'.
- konfigurasikan - Menyediakan konfigurasi melalui berbagai sumber, termasuk JSON, flag, dan variabel lingkungan.
- configuro - kerangka pemuatan & validasi konfigurasi berpendirian keras dari ENV dan Files yang berfokus pada aplikasi yang sesuai dengan 12 Faktor.
- confiq - Format data terstruktur untuk mengonfigurasi pustaka dekoder struct untuk Go - mendukung berbagai format data
- confita - Memuat konfigurasi secara bertingkat dari beberapa backend ke dalam sebuah struct.
- conflate - Pustaka/alat untuk menggabungkan beberapa file JSON/YAML/TOML dari URL arbitrer, validasi terhadap skema JSON, dan penerapan nilai default yang ditentukan dalam skema.
- env - Parsing variabel lingkungan ke struct Go (dengan default).
- env - Paket ringan untuk memuat variabel lingkungan ke dalam struct.
- env - Paket utilitas lingkungan dengan dukungan untuk unmarshaling ke dalam struct
- envconfig - Baca konfigurasi Anda dari variabel lingkungan.
- envh - Pembantu untuk mengelola variabel lingkungan.
- fig - Pustaka kecil untuk membaca konfigurasi dari file dan dari variabel lingkungan (dengan validasi & default).
- genv - Baca variabel lingkungan dengan mudah dengan dukungan dotenv.
- go-array - Paket Go yang membaca atau mengatur data dari peta, irisan, atau json.
- go-aws-ssm - Paket Go yang mengambil parameter dari AWS System Manager - Penyimpanan Parameter.
- go-cfg - Pustaka menyediakan cara terpadu untuk membaca data konfigurasi ke dalam struktur dari berbagai sumber, seperti env, flag, dan file konfigurasi (.json, .yaml, .toml, .env).
- go-conf - Pustaka sederhana untuk konfigurasi aplikasi berdasarkan struct yang dianotasi. Ini mendukung pembacaan konfigurasi dari variabel lingkungan, file konfigurasi dan parameter baris perintah.
- go-ini - Paket Go yang mengatur dan menghapus file INI.
- go-ssm-config - Utilitas Go untuk memuat parameter konfigurasi dari AWS SSM (Parameter Store).
- go-up - Pustaka konfigurasi sederhana dengan resolusi placeholder rekursif dan tanpa keajaiban.
- GoCfg - Manajer konfigurasi dengan kontrak berbasis Struct Tag, penyedia nilai khusus, parser, dan pembuatan dokumentasi. Dapat disesuaikan namun sederhana.
- goConfig - Mem-parsing struct sebagai input dan mengisi kolom struct ini dengan parameter dari baris perintah, variabel lingkungan, dan file konfigurasi.
- godotenv - Buka port perpustakaan dotenv Ruby (Memuat variabel lingkungan dari
.env
). - gofigure - Konfigurasi aplikasi Go menjadi mudah.
- GoLobby/Config - GoLobby Config adalah manajer konfigurasi yang ringan namun kuat untuk bahasa pemrograman Go.
- hilang/jconf - Konfigurasi JSON modular. Simpan struct konfigurasi Anda bersama dengan kode yang dikonfigurasinya dan delegasikan penguraian ke submodul tanpa mengorbankan serialisasi konfigurasi penuh.
- gonfig - Parser konfigurasi berbasis tag yang memuat nilai dari penyedia berbeda ke dalam struktur typesafe.
- gookit/config - pengelolaan konfigurasi aplikasi (muat, dapatkan, atur). mendukung JSON, YAML, TOML, INI, HCL. pemuatan multi file, penggabungan penggantian data.
- pemanen - Harvester, paket konfigurasi statis dan dinamis yang mudah digunakan yang mendukung penyemaian, env vars, dan integrasi Konsul.
- hjson - Human JSON, format file konfigurasi untuk manusia. Sintaks yang santai, lebih sedikit kesalahan, lebih banyak komentar.
- hocon - Pustaka konfigurasi untuk bekerja dengan format HOCON (superset JSON yang ramah manusia), mendukung fitur seperti variabel lingkungan, mereferensikan nilai lain, komentar, dan banyak file.
- ingo - Bendera tetap ada di file konfigurasi mirip ini.
- ini - Paket Go untuk membaca dan menulis file INI.
- ini - INI Parser & Write Library, Unmarshal ke Struct, Marshal ke Json, Write File, tonton file.
- joshbetz/config - Pustaka konfigurasi kecil untuk Go yang mem-parsing variabel lingkungan, file JSON, dan memuat ulang secara otomatis di SIGHUP.
- kelseyhightower/envconfig - Pustaka Go untuk mengelola data konfigurasi dari variabel lingkungan.
- koanf - Pustaka yang ringan dan dapat diperluas untuk membaca konfigurasi di aplikasi Go. Dukungan bawaan untuk JSON, TOML, YAML, env, baris perintah.
- konf - API paling sederhana untuk membaca/melihat konfigurasi dari file, env, flag, dan cloud (misalnya AWS, Azure, GCP).
- konfig - Penanganan konfigurasi yang dapat disusun, diamati, dan berkinerja baik untuk Go untuk era pemrosesan terdistribusi.
- kong - Pengurai baris perintah dengan dukungan untuk struktur baris perintah yang rumit dan sumber konfigurasi tambahan seperti YAML, JSON, TOML, dll (penerus
kingpin
). - mini - Paket Golang untuk mem-parsing file konfigurasi bergaya ini.
- nasermirzaei89/env - Paket sederhana yang berguna untuk membaca variabel lingkungan.
- nfigure - Konfigurasi berbasis struct-tag per perpustakaan dari baris perintah (gaya Posix & Go); lingkungan, JSON, YAML
- bawang - Konfigurasi berbasis lapisan untuk Go, Mendukung JSON, TOML, YAML, properti, dll, env, dan enkripsi menggunakan PGP.
- piper - Pembungkus Viper dengan pewarisan konfigurasi dan pembuatan kunci.
- sonic - Pustaka serialisasi & deserialisasi JSON yang sangat cepat.
- store - Manajer konfigurasi ringan untuk Go.
- swap - Membuat instance/konfigurasi struct secara rekursif, berdasarkan lingkungan build. (YAML, TOML, JSON dan env).
- typenv - Minimalis, tanpa ketergantungan, pustaka variabel lingkungan yang diketik.
- uConfig - Manajemen konfigurasi yang ringan, tanpa ketergantungan, dan dapat diperluas.
- viper - Konfigurasikan dengan taring.
- xdg - Implementasi Spesifikasi Direktori Dasar XDG dan direktori pengguna XDG.
- xdg - Paket lintas platform yang mengikuti Standar XDG.
- yamagiconf - "Subset aman" dari konfigurasi YAML untuk Go.
⬆ kembali ke atas
Integrasi Berkelanjutan
Alat untuk bantuan dalam integrasi berkelanjutan.
- muskil - Abstruse adalah platform CI terdistribusi.
- Bencher - Serangkaian alat pembandingan berkelanjutan yang dirancang untuk menangkap regresi kinerja di CI.
- CDS - Platform Sumber Terbuka Otomatisasi CI/CD dan DevOps Tingkat Perusahaan.
- dot - Sistem integrasi berkelanjutan minimal lokal pertama yang menggunakan Docker untuk menjalankan pekerjaan secara bersamaan secara bertahap.
- drone - Drone adalah platform Integrasi Berkelanjutan yang dibangun di Docker, ditulis dalam Go.
- go-beautiful-html-coverage - Tindakan GitHub untuk melacak cakupan kode dalam permintaan penarikan Anda, dengan pratinjau HTML yang indah, gratis.
- go-fuzz-action - Gunakan pengujian fuzz bawaan Go 1.18 di GitHub Actions.
- go-semver-release - Mengotomatiskan versi semantik repositori Git.
- go-test-coverage - Alat dan tindakan GitHub yang melaporkan masalah ketika cakupan pengujian berada di bawah ambang batas yang ditetapkan.
- gomason - Uji, Bangun, Tandatangani, dan Publikasikan binari go Anda dari ruang kerja yang bersih.
- gotestfmt - uji keluaran untuk manusia.
- goveralls - Integrasi Go untuk sistem pelacakan cakupan kode berkelanjutan Coveralls.io.
- muffet - Pemeriksa tautan situs web cepat di Go, lihat alternatifnya.
- overall - Profil sampul proyek go Multi-Paket untuk alat seperti goverall.
- roveralls - Alat pengujian cakupan rekursif.
- pelatuk - Pelatuk adalah cabang komunitas dari sistem Drone CI.
⬆ kembali ke atas
Praprosesor CSS
Perpustakaan untuk pra-pemrosesan file CSS.
- gcss - Praprosesor Go CSS Murni.
- go-libsass - Buka proyek libsass yang 100% kompatibel dengan Sass.
⬆ kembali ke atas
Kerangka Integrasi Data
Kerangka untuk melakukan ELT/ETL
- Benthos - Sebuah jembatan streaming pesan antara berbagai protokol.
- CloudQuery - Kerangka kerja integrasi data ELT berkinerja tinggi dengan arsitektur pluggable.
- omniparser - Pustaka ETL serbaguna yang mem-parsing masukan teks (CSV/txt/JSON/XML/EDI/X12/EDIFACT/dll) secara streaming dan mengubah data menjadi keluaran JSON menggunakan skema berbasis data.
⬆ kembali ke atas
Struktur Data dan Algoritma
Pengepakan bit dan Kompresi
- bingo - Pengepakan tipe asli ke byte yang cepat, tanpa alokasi, dan menjaga urutan leksikografis.
- binpacker - Pengemas dan pengurai biner membantu pengguna membuat aliran biner khusus.
- bit - Struktur data kumpulan Golang dengan fungsi memutar-mutar bit bonus.
- crunch - Paket Go yang mengimplementasikan buffer untuk menangani berbagai tipe data dengan mudah.
- go-ef - Implementasi Go dari pengkodean Elias-Fano.
- menderu - Paket Go yang mengimplementasikan bitset terkompresi.
Set Bit
- bitmap - Bitmap/bitset padat, tanpa alokasi, dan mendukung SIMD di Go.
- bitset - Paket Go yang mengimplementasikan bitset.
Filter Bloom dan Cuckoo
- mekar - Paket Go yang mengimplementasikan filter Bloom.
- mekar - Filter Bloom diimplementasikan di Go.
- mekar - Implementasi filter Golang Bloom.
- Bloomfilter - Implementasi Bloomfilter lainnya di Go, kompatibel dengan perpustakaan Guava Java.
- boomfilters - Struktur data probabilistik untuk memproses aliran yang berkelanjutan dan tidak terbatas.
- cuckoo-filter - Filter Cuckoo: filter cuckoo komprehensif, yang dapat dikonfigurasi dan dioptimalkan ruangnya dibandingkan dengan implementasi lain, dan semua fitur yang disebutkan dalam makalah asli tersedia.
- cuckoofilter - Filter Cuckoo: alternatif yang bagus untuk filter penghitungan mekar yang diterapkan di Go.
- ring - Implementasi filter mekar yang aman dan berkinerja tinggi.
Struktur Data dan Pengumpulan Algoritma
- algoritma - Algoritma dan struktur data.Studi CLRS.
- go-datastructures - Kumpulan struktur data yang berguna, berkinerja baik, dan aman untuk thread.
- dewa - Struktur Data Go. Wadah, Kumpulan, Daftar, Tumpukan, Peta, BidiMaps, Pohon, HashSet, dll.
- gostl - Struktur data dan pustaka algoritme untuk go, dirancang untuk menyediakan fungsi yang mirip dengan C++ STL.
Iterator
- goterator - Implementasi Iterator untuk menyediakan peta dan mengurangi fungsionalitas.
- iter - Implementasi iterator dan algoritma C++ STL.
Peta
Lihat juga Database untuk penyimpanan nilai kunci yang lebih kompleks, dan Pohon untuk implementasi peta tambahan yang diurutkan.
- cmap - peta serentak yang aman untuk thread untuk digunakan, mendukung penggunaan
interface{}
sebagai kunci dan meningkatkan skala pecahan secara otomatis. - dict - kamus mirip Python (dict) untuk Go.
- go-shelve - Objek persisten seperti peta untuk bahasa pemrograman Go. Mendukung beberapa penyimpanan nilai kunci yang tertanam.
- goradd/maps - Go 1.18+ antarmuka peta generik untuk peta; peta yang aman; peta yang dipesan; peta yang teratur dan aman; dll.
Struktur Data dan Algoritma Lain-Lain
- concurrent-writer - Pengganti drop-in yang sangat bersamaan untuk
bufio.Writer
. - conjungo - Pustaka gabungan yang kecil, kuat, dan fleksibel.
- count-min-log - Implementasi Go Sketsa Count-Min-Log: Kira-kira menghitung dengan penghitung perkiraan (Seperti sketsa Count-Min tetapi menggunakan lebih sedikit memori).
- fsm - Paket Mesin Keadaan Hingga.
- genfuncs - Paket generik Go 1.18+ yang terinspirasi oleh Urutan dan Peta Kotlin.
- go-generics - Utilitas irisan, peta, set, iterator, dan goroutine generik.
- go-geoindex - Indeks geo dalam memori.
- go-rampart - Tentukan bagaimana interval berhubungan satu sama lain.
- go-rquad - Wilayah quadtree dengan lokasi titik dan penemuan tetangga yang efisien.
- go-tuple - Implementasi tupel umum untuk Go 1.18+.
- go18ds - Struktur Data Go menggunakan generik Go 1.18.
- gofal - api pecahan untuk Go.
- gogu - Fungsi utilitas generik dan struktur data yang komprehensif, dapat digunakan kembali, dan efisien secara bersamaan dan aman.
- gota - Implementasi kerangka data, seri, dan metode perselisihan data untuk Go.
- sembunyikan - Tipe ID dengan marshalling ke/dari hash untuk mencegah pengiriman ID ke klien.
- hilbert - Paket Go untuk memetakan nilai ke dan dari kurva pengisian ruang, seperti kurva Hilbert dan Peano.
- hyperloglog - Implementasi HyperLogLog dengan Sparse, koreksi bias LogLog-Beta dan pengurangan ruang TailCut.
- quadtree - Quadtree yang generik, alokasi nol, dan tercakup dalam uji 100%.
- irisan - Fungsi yang beroperasi pada irisan; seperti
package strings
tetapi disesuaikan untuk bekerja dengan irisan. - irisan - Murni, fungsi umum untuk irisan.
Jenis yang Tidak Dapat Dibatalkan
- nan - Alokasi nol Struktur nullable dalam satu perpustakaan dengan fungsi konversi yang praktis, marshaller, dan unmarshaller.
- null - Tipe Go yang dapat dibatalkan yang dapat disusun/dibatalkan ke/dari JSON.
- typ - Tipe Null, Konversi tipe primitif yang aman dan mengambil nilai dari struktur kompleks.
Antrian
- deque - Antrean berujung ganda yang sangat optimal.
- deque - Deque ring-buffer cepat (antrian berujung ganda).
- goconcurrentqueue - Antrean FIFO serentak.
- kapak - Antrean tugas yang terdistribusi dan toleran terhadap kesalahan.
- memlog - Struktur data dalam memori yang mudah digunakan, ringan, thread-safe, dan hanya tambahan yang terinspirasi oleh Apache Kafka.
- queue - Beberapa implementasi antrian umum yang aman untuk thread untuk Go.
Set
- dsu - Implementasi struktur data Disjoint Set di Go.
- golang-set - Set performa tinggi yang Aman untuk Thread dan Non-Thread untuk Go.
- goset - Implementasi kumpulan Set yang berguna untuk Go.
- set - Implementasi struktur data set sederhana di Go menggunakan LinkedHashMap.
Analisis Teks
- bleve - Pustaka pengindeksan teks modern untuk digunakan.
- GO-adaptive-radix-tree-GO Implementasi pohon radix adaptif.
- Perpustakaan go-edlib-go string dan edit pustaka algoritma jarak (levenshtein, lcs, hamming, damerau levenshtein, jaro-winkler, dll.) Kompatibel dengan unicode.
- Levenshtein - jarak levenshtein dan metrik kesamaan dengan biaya edit yang dapat disesuaikan dan bonus seperti winkler untuk awalan umum.
- Levenshtein - Implementasi untuk menghitung jarak levenshtein di GO.
- MSPM - Algoritma pencocokan pola multi -string untuk pengambilan informasi.
- Parsefields - Alat untuk parse log seperti JSON untuk mengumpulkan bidang dan acara yang unik.
- ptrie - implementasi pohon awalan.
- TRIE - Implementasi trie di Go.
Pohon
- Hashsplit - split byte aliran menjadi potongan, dan mengatur potongan menjadi pohon, dengan batas yang ditentukan oleh konten, bukan posisi.
- Merkle - Perhitungan hash root root merkle dan bukti inklusi.
- Skiplist - implementasi skiplist yang sangat cepat.
- Skiplist - Implementasi Skiplist di Go.
- Treap - peta persisten dan dipesan cepat menggunakan tumpukan pohon.
- TreeMap-Peta yang disortir kunci generik menggunakan pohon merah-hitam di bawah kap.
Pipa
- Modul yang dipesan -KONCURRENTER - GO yang memproses bekerja secara bersamaan dan mengembalikan output dalam saluran dalam urutan input.
- Parapipe - FIFO Pipeline yang sejajar dengan eksekusi pada setiap tahap sambil mempertahankan urutan pesan dan hasil.
- Pipeline-Implementasi jaringan pipa dengan fan-in dan fan-out.
⬆ Kembali ke atas
Basis data
Cache
Simpan data dengan catatan yang kedaluwarsa, penyimpanan data terdistribusi dalam memori, atau himpunan bagian dalam memori dari database berbasis file.
- 2Q - 2Q Implementasi cache dalam memori.
- BCACHE - Akhirnya Perpustakaan Cache Go GO yang didistribusikan secara konsisten.
- BIGCACHE - Kunci/Nilai Cache yang efisien untuk gigabyte data.
- Cache - Kunci In -Memory: Nilai penyimpanan dengan waktu kedaluwarsa, 0 dependensi, <100 loc, cakupan 100%.
- Cache2go - Kunci dalam memori: Nilai cache yang mendukung pembatalan otomatis berdasarkan batas waktu.
- Cachego - Komponen cache Golang untuk beberapa driver.
- ClusteredBigCache - BigCache dengan dukungan pengelompokan dan kedaluwarsa item individual.
- Koherensi-go-klien-Implementasi penuh dari Oracle Coherence Cache API untuk aplikasi GO menggunakan GRPC sebagai transportasi jaringan.
- Couchcache - Layanan mikro caching yang tenang didukung oleh server Couchbase.
- Echovault - penyimpanan data dalam memori terdistribusi yang dapat disematkan yang kompatibel dengan klien Redis.
- FastCache - Cache Inmemory yang aman -aman untuk sejumlah besar entri. Meminimalkan overhead GC.
- GCACHE - Perpustakaan cache dengan dukungan untuk cache yang kedaluwarsa, LFU, LRU dan ARC.
- GDCACHE - Perpustakaan cache murni non -intrusif yang diimplementasikan oleh Golang, Anda dapat menggunakannya untuk mengimplementasikan cache terdistribusi Anda sendiri.
- GO-CACHE-Perpustakaan cache multi-lapisan yang fleksibel untuk menangani cache dalam memori dan bersama dengan mengadopsi pola cache-asside.
- GO-FREELRU Perpustakaan hashmap LRU tanpa GC, cepat dan generik dengan penguncian opsional, sharding, penggusuran dan kedaluwarsa.
- Go-McAche-Kunci In-Memory Cepat: Nilai Toko/Perpustakaan Cache. Cache pointer.
- GOCACHE - Perpustakaan GO Cache lengkap dengan beberapa toko (memori, memcache, Redis, ...), dapat diikat, dapat dimuat, cache metrik dan banyak lagi.
- GOCACHE - Perpustakaan ACHE GO Free Data Free dengan Fungsionalitas Kinerja Tinggi dan Pruge Otomatis
- GroupCache - GroupCache adalah perpustakaan cache dan pengisian cache, yang dimaksudkan sebagai pengganti yang diperam dalam banyak kasus.
- ICACHE-Paket cache berkinerja tinggi, generik, aman utas, nol-dependensi.
- IMCACHE - Perpustakaan Cache Go Go Generik. Ini mendukung kedaluwarsa, kedaluwarsa geser, batas entri maksimum, panggilan balik penggusuran dan sharding.
- NSCACHE - Kerangka kerja caching GO yang mendukung beberapa driver sumber data.
- Otter - cache tanpa kunci kinerja tinggi untuk Go. Berkali -kali lebih cepat dari ristretto dan teman.
- Pocache - Pocache adalah paket cache minimal yang berfokus pada strategi caching optimis preemptive.
- STURDYC - Perpustakaan caching dengan fitur konkurensi canggih yang dirancang untuk membuat aplikasi berat I/O kuat dan berkinerja tinggi.
- Theine - Kinerja Tinggi, dekat cache dalam memori optimal dengan TTL Proactive TTL dan generik.
- TimeDMap - Peta dengan pasangan nilai kunci yang kedaluwarsa.
- TTLCACHE - cache dalam memori dengan waktu kadaluwarsa dan obat generik.
- TTLCACHE - Penyimpanan nilai kunci dalam memori dengan TTL untuk setiap catatan.
Database diimplementasikan di GO
- Badger - Toko Nilai Kunci Cepat di Go.
- BBOLT - Database Kunci/Nilai Tertanam untuk GO.
- Bitcask-Bitcask adalah database key-value (KV) yang dapat disematkan yang ditulis dalam Pure Go dengan kinerja baca/tulis yang dapat diprediksi, latensi rendah dan throughput tinggi berkat tata letak di disk bitcask (LSM+WAL).
- buntdb - Database kunci/nilai in -memori yang cepat, dapat disematkan, untuk GO dengan pengindeksan khusus dan dukungan spasial.
- Clover - Basis data NoSQL yang berorientasi dokumen ringan yang ditulis dalam Golang murni.
- Kecoa - Datastore transaksional yang dapat diskalakan, geo, dan transaksional.
- Peti - Database Nilai Kunci Asam Sederhana yang mendukung transaksi.
- Kolom-Toko berkinerja tinggi, kolumnar, disematkan dalam memori dengan pengindeksan dan transaksi bitmap.
- Covenantql - Covenantsql adalah database SQL di blockchain.
- Databunker - Layanan Penyimpanan Informasi Identifikasi Pribadi (PII) Dibangun untuk mematuhi GDPR dan CCPA.
- DGRAPH - Database grafik throughput throughput yang scalable, terdistribusi, latensi rendah, latensi tinggi.
- DiskV-Toko Nilai Kunci Disk yang Dibangun Rumah.
- DOLT - DOLT - Ini git untuk data.
- DTF - Manajer Transaksi Terdistribusi. Dukung XA, TCC, Saga, pesan yang dapat diandalkan.
- EliasdB-Database grafik transaksional bebas ketergantungan dengan API REST, pencarian frasa dan bahasa kueri seperti SQL.
- GODIS - Golang menerapkan server dan cluster Redis kinerja tinggi.
- GoleveldB - Implementasi Database Kunci/Nilai LevelDB di GO.
- Hare - Sistem manajemen basis data sederhana yang menyimpan setiap tabel sebagai file teks JSON yang dibatasi garis.
- ImmudB - ImmudB adalah basis data yang ringan dan berkecepatan tinggi untuk sistem dan aplikasi yang ditulis dalam go.
- InfluxDB - Datastore yang dapat diskalakan untuk metrik, peristiwa, dan analitik waktu -nyata.
- LedisDB - LedisDB adalah NoSQL kinerja tinggi seperti Redis berdasarkan LevelDB.
- Levigo - Levigo adalah pembungkus go untuk LevelDB.
- LibradB - LibradB adalah database sederhana dengan kurang dari 1000 baris kode untuk belajar.
- LINDB - LINDB adalah database seri waktu terdistribusi yang dapat diskalakan, berkinerja tinggi, dan ketersediaan tinggi.
- LOYUSDB - Database K/V Cepat Kompatibel dengan LSM dan B+Tree.
- Milvus - Milvus adalah database vektor untuk manajemen, analitik, dan pencarian.
- Moss - Moss adalah mesin penyimpanan nilai kunci LSM sederhana yang ditulis dalam 100% Go.
- Nutsdb - Nutsdb adalah toko kunci/nilai gigih yang sederhana, cepat, dapat disematkan, ditulis dalam Pure Go. Ini mendukung transaksi yang sepenuhnya dapat serial dan banyak struktur data seperti daftar, set, set diurutkan.
- ObjectBox-GO-Database Objek Tertanam Kinerja Tinggi (NoSQL) dengan API Go.
- Pebble - RockSDB/LevelDB Inspired Key -Value Database in Go.
- PILADB - Mesin database Restful ringan berdasarkan struktur data tumpukan.
- Pogreb-Toko Nilai Kunci Tertanam untuk beban kerja yang berat.
- Prometheus - Sistem Pemantauan dan Database Seri Waktu.
- Pudge - Toko Kunci/Value Cepat dan Sederhana Ditulis Menggunakan Perpustakaan Standar GO.
- Redka - Redis diimplementasikan kembali dengan SQLite.
- RosedB - Basis data KV tertanam berdasarkan LSM+Wal, mendukung string, daftar, hash, set, zset.
- Rotom - Server Redis kecil yang dibangun dengan Golang, kompatibel dengan protokol RESP.
- RQLite - Database relasional yang ringan, terdistribusi, dibangun di atas SQLite.
- TempdB - Toko Nilai Kunci untuk barang -barang sementara.
- TIDB - TIDB adalah database SQL terdistribusi. Terinspirasi oleh desain Google F1.
- Tiedot - Database NoSQL Anda ditenagai oleh Golang.
- UnitDB - Basis data Fast Timeseries untuk IoT, aplikasi pesan realtime. Access UnitDB dengan pubsub melalui TCP atau WebSocket menggunakan github.com/unit-io/unitd Application.
- Vasto-Toko nilai kunci berkinerja tinggi terdistribusi. Di disk. Akhirnya konsisten. HA. Mampu tumbuh atau menyusut tanpa gangguan layanan.
- Victoriametrics - Database Seri Waktu Sumber Terbuka yang cepat, hemat sumber daya. Dapat digunakan sebagai penyimpanan jarak jauh jangka panjang untuk Prometheus. Mendukung promql.
Migrasi Skema Database
- Atlas - Toolkit Basis Data. CLI yang dirancang untuk membantu perusahaan bekerja dengan lebih baik dengan data mereka.
- AVRO - Temukan skema SQL dan ubahlah menjadi skema Avro. Permintaan SQL Catatan ke Avro Bytes.
- BYTEBASE - Perubahan skema basis data yang aman dan kontrol versi untuk tim DevOps.
- Darwin - Perpustakaan Evolusi Skema Database untuk GO.
- DBMate - Alat migrasi basis data kerangka kerja yang ringan.
- Go-Fixtures-Perlengkapan Gaya Django untuk Perpustakaan Database/SQL Golang yang sangat baik.
- GO-PG-Migrate-Paket ramah-CLI untuk manajemen migrasi go-PG.
- GO-PG-MIGRASI-Paket GO untuk membantu menulis migrasi dengan Go-PG/PG.
- GOAVRO - Paket GO yang mengkodekan dan mendekode data AVRO.
- Godfish - Manajer Migrasi Database, bekerja dengan bahasa kueri asli. Dukungan untuk Cassandra, MySQL, Postgres, SQLite3.
- Goose - Alat Migrasi Basis Data. Anda dapat mengelola evolusi database Anda dengan membuat skrip SQL atau Go tambahan.
- Gorm -Seeder - seeder basis data sederhana untuk gorm orm.
- Gormigrate - Pembantu Migrasi Skema Database untuk Gorm ORM.
- LIBSCHEMA - Tentukan migrasi Anda secara terpisah di setiap perpustakaan. Migrasi untuk perpustakaan open source. MySQL & PostgreSQL.
- Migrasi - Migrasi Basis Data. Perpustakaan CLI dan Golang.
- Migrator - Perpustakaan Migrasi Basis Data GO Dead Simple.
- Migrator - Migase Migror Migror yang dirancang untuk menjalankan migrasi ke fitur Anda dan mengelola pembaruan skema database dengan kode GO intuitif.
- Skema - Perpustakaan untuk menyematkan migrasi skema untuk database yang kompatibel dengan database/SQL di dalam biner go Anda.
- Skeema - Sistem manajemen skema murni -SQL untuk MySQL, dengan dukungan untuk sharding dan alat perubahan skema online eksternal.
- Soda - Migrasi Database, Kreasi, ORM, dll ... Untuk MySQL, PostgreSQL, dan SQLite.
- SQL -Migrate - Alat Migrasi Basis Data. Memungkinkan penyematan migrasi ke dalam aplikasi menggunakan Go-Bindata.
- SQLIZE - Generator Migrasi Database. Memungkinkan menghasilkan migrasi SQL dari model dan SQL yang ada dengan berbeda.
Alat basis data
- CHPROXY - HTTP Proxy untuk Database Clickhouse.
- Clickhouse -Bulk - Mengumpulkan sisipan kecil dan mengirimkan permintaan besar ke server clickhouse.
- DBBENCH - Alat Benchmarking Basis Data dengan dukungan untuk beberapa database dan skrip.
- DG - generator data cepat yang menghasilkan file CSV dari data relasional yang dihasilkan.
- Dynago - Sederhanakan bekerja dengan AWS DynamoDB.
- GatewayD-Cloud-Native Database Gateway dan Kerangka kerja untuk membangun aplikasi berbasis data. Seperti gateway API, untuk database.
- GO -MYSQL - GO Toolset untuk menangani protokol dan replikasi MySQL.
- Gorm-Multitenancy-Dukungan multi-tenancy untuk database yang dikelola GORM.
- HASQL - Perpustakaan untuk mengakses instalasi database SQL multi -host.
- Octillery - Paket GO untuk basis data sharding (mendukung setiap ORM atau SQL mentah).
- Onedump - Cadangan Basis Data dari driver yang berbeda ke berbagai tujuan dengan satu perintah dan konfigurasi.
- PG_TIMETABLE - Penjadwalan lanjutan untuk PostgreSQL.
- PGWEB - Browser Database PostgreSQL berbasis web.
- Persiapan - Gunakan pernyataan SQL yang disiapkan tanpa mengubah kode Anda.
- Perst - Sederhanakan dan percepatan pengembangan, ⚡ instan, realtime, kinerja tinggi pada aplikasi postgres apa pun, yang ada atau baru.
- RDB - Redis RDB File parser untuk pengembangan sekunder dan analisis memori.
- RWDB - RWDB menyediakan kemampuan replika baca untuk beberapa pengaturan server database.
- Vitess - Vitess menyediakan server dan alat yang memfasilitasi penskalaan database MySQL untuk layanan web skala besar.
- Wescale - Wescale adalah proxy basis data yang dirancang untuk meningkatkan skalabilitas, kinerja, keamanan, dan ketahanan aplikasi Anda.
SQL Query Builders
Perpustakaan untuk membangun dan menggunakan SQL.
- BQB - Ringan dan mudah dipelajari pembangun kueri.
- BuildSQLX - GO Database Query Builder Library untuk PostgreSQL.
- Builq - Mudah membangun kueri SQL di Go.
- DBQ - Operasi Basis Data BoilerPlate Zero untuk GO.
- DOTSQL - Go Library yang membantu Anda menyimpan file SQL di satu tempat dan menggunakannya dengan mudah.
- Gendry - Pembangun SQL non -invasif dan pengikat data yang kuat.
- Godbal - Lapisan Abstraksi Database (DBAL) untuk Go. Dukung SQL Builder dan dapatkan hasilnya dengan mudah.
- Goqu - Perpustakaan SQL dan Perpustakaan Kueri Idiomatik.
- GOSQL - Pembangun kueri SQL dengan dukungan nilai nol yang lebih baik.
- Hotcoal - Amankan SQL buatan tangan Anda terhadap injeksi.
- IGOR - Lapisan abstraksi untuk PostgreSQL yang mendukung fungsionalitas canggih dan menggunakan sintaksis seperti Gorm.
- Jet - Framework untuk Menulis kueri SQL yang aman di Go, dengan kemampuan untuk dengan mudah mengonversi kueri basis data yang dihasilkan menjadi struktur objek yang sewenang -wenang yang diinginkan.
- ORMLITE - Paket ringan yang berisi beberapa fitur dan pembantu seperti ORM untuk database SQLite.
- Ozzo-DBX-Metode pengambilan data yang kuat serta kemampuan membangun permintaan db-agnostik.
- QRY - Alat yang menghasilkan konstanta dari file dengan kueri SQL mentah.
- SG - gen SQL untuk menghasilkan SQLS standar (dukungan: CRUD) yang ditulis dalam go.
- SQ - Type -Safe SQL Builder dan Struct Mapper untuk Go.
- SQLC - Hasilkan kode jenis -aman dari SQL.
- SQLF - Pembangun Kueri SQL Cepat.
- SQLINGO - DSL ringan untuk membangun SQL di Go.
- SQRL - SQL Query Builder, garpu tupai dengan kinerja yang lebih baik.
- SQUALUS - Lapisan tipis di atas paket SQL Go yang membuatnya lebih mudah untuk melakukan kueri.
- Squirrel - Go Library yang membantu Anda membangun kueri SQL.
- XO - Hasilkan kode Go idiomatik untuk database berdasarkan definisi skema yang ada atau pertanyaan khusus yang mendukung PostgreSQL, MySQL, SQLite, Oracle, dan Microsoft SQL Server.
⬆ Kembali ke atas
Driver basis data
Antarmuka ke beberapa backends
- Cayley - Basis data grafik dengan dukungan untuk beberapa backends.
- DSC - Konektivitas Datastore untuk SQL, NoSQL, file terstruktur.
- Dynamo-Abstraksi Nilai Kunci Sederhana untuk Menyimpan Jenis Data Aljabar dan Data Linked di AWS Storage Services: AWS DynamoDB dan AWS S3.
- GO-Transaction-Manager-Transaction Manager dengan beberapa adapter (SQL, SQLX, Gorm, Mongo, ...) Mengontrol batas transaksi.
- GOKV - Abstraksi dan implementasi penyimpanan key -store sederhana untuk GO (redis, konsul, dll, bbolt, badgerdb, leveldb, memcached, dynamodb, s3, postgresql, mongodb, cockroachdb dan banyak lagi).
Driver Database Relasional
- Avatica - Apache Avatica/Phoenix SQL Driver untuk Database/SQL.
- BGC - Konektivitas Datastore untuk BigQuery untuk Go.
- Firebirdsql - Firebird RDBMS SQL Driver untuk Go.
- GO -ADODB - Driver Database Objek Microsoft ActiveX untuk GO yang menggunakan database/SQL.
- go -mssqldb - driver microsoft mssql untuk go.
- GO -OCI8 - Driver Oracle untuk GO yang menggunakan database/SQL.
- go-sql-driver/mysql-driver mysql untuk go.
- go -sqlite3 - driver sqlite3 untuk go yang menggunakan basis data/sql.
- Godror - Driver Oracle untuk Go, menggunakan driver ODPI -C.
- GoFreetds - Driver Microsoft MSSQL. GO WRAPPER Over Freetds.
- KSQL - Perpustakaan Golang SQL yang sederhana dan kuat
- PGX - Fitur Pendukung Driver PostgreSQL Di luar yang diekspos oleh database/SQL.
- Babi - Pembungkus PGX sederhana untuk mengeksekusi dan memindai hasil kueri dengan mudah.
- PQ - Driver Pure Go Postgres untuk Database/SQL.
- Sqinn -go - sqlite with pure go.
- SQLHOOKS - Lampirkan kait ke driver database/SQL apa pun.
- Surealdb.go - SurrealDB Driver untuk Go.
- YDB-GO-SDK-Native and Database/SQL Driver YDB (Yandex Database)
Driver database NoSQL
- Aerospike-Client-Go-Klien Aerospike dalam bahasa Go.
- ARANGOLITE - Driver Golang Ringan untuk Arangodb.
- Konektivitas ASC - Datastore untuk Aerospike untuk GO.
- ForestDB - GO Bindings for ForestDB.
- GO -COUCHBASE - Klien Couchbase di Go.
- Go-Mongox-Perpustakaan Go Mongo berdasarkan driver resmi, menampilkan operasi dokumen yang ramping, pengikatan struktur generik pada koleksi, crud bawaan, agregasi, pembaruan lapangan otomatis, validasi struct, kait, dan pemrograman berbasis plugin.
- Go -Pilosa - Perpustakaan Klien Go untuk Pilosa.
- Go -Rejson - Klien Golang untuk Modul Rejson Redislabs Menggunakan Klien Redigo Golang. Simpan dan manipulasi struct sebagai objek JSON di Redis dengan mudah.
- GOCB - Couchbase resmi Go SDK.
- GOCOSMOS - Klien REST dan Driver
database/sql
Standar untuk Azure Cosmos DB. - GOCQL - GO Bahasa Driver untuk Apache Cassandra.
- Godis - Redis Client Implement oleh Golang, terinspirasi oleh Jedis.
- Godscache - Pembungkus untuk Paket Google Cloud Platform Go Datastore yang menambahkan caching menggunakan memcached.
- Gomemcache - Perpustakaan Klien Memcache untuk bahasa pemrograman GO.
- Gomemcached - Klien biner memcached untuk GO dengan dukungan untuk sharding menggunakan hashing yang konsisten, bersama dengan SASL.
- GORETHINK - GO driver bahasa untuk rethinkdb.
- Goriak - Go Language Driver untuk Riak KV.
- Kivik - Kivik menyediakan perpustakaan klien GO dan Gopherjs yang umum untuk CouchDB, PouchDB, dan database serupa.
- MGM - ODM Berbasis Model MongoDB untuk GO (berdasarkan pengemudi MongoDB resmi).
- MGO - (tidak terawat) Driver MongoDB untuk bahasa GO yang mengimplementasikan pilihan fitur yang kaya dan diuji dengan baik di bawah API yang sangat sederhana mengikuti idiom GO standar.
- Mongo-go-driver-Driver MongoDB resmi untuk bahasa Go.
- Neo4j - neo4j REST API Bindings for Golang.
- NEO4J -GO - NEO4J REST CLIENT DI GOLANG.
- Neoism - Klien Neo4J untuk Golang.
- QMGO - Pengemudi MongoDB untuk Go. Ini didasarkan pada pengemudi resmi MongoDB tetapi lebih mudah digunakan seperti MGO.
- REDEO - Redis -Protocol TCP Server/Layanan yang kompatibel.
- REDIGO - REDIGO adalah klien GO untuk database Redis.
- REDIS - REDIS Klien untuk Golang.
- Rueidis - Klien Redis REP3 FAST dengan Pipelining Otomatis dan caching sisi klien yang dibantu server.
- XREDIS - TypeSafe, Customizable, Clean & Mudah Menggunakan Klien Redis.
Cari dan database analitik
- Clickhouse -GO - Klien SQL CLICKHOUSE untuk GO With Compatibility
database/sql
. - EFFDSL - Pembuat permintaan Elasticsearch untuk Go.
- Elastic - Klien Elasticsearch untuk Go.
- Elasticsql - Konversi SQL ke Elasticsearch DSL di Go.
- Elastigo - Perpustakaan Klien Elasticsearch.
- Go -Elasticsearch - Klien Resmi Elasticsearch untuk Go.
- Goes - Perpustakaan untuk berinteraksi dengan Elasticsearch.
- Skizze - Layanan dan penyimpanan struktur data probabilistik.
⬆ Kembali ke atas
Tanggal dan Waktu
Perpustakaan untuk bekerja dengan tanggal dan waktu.
- Perkiraan - Perpanjangan durasi yang mendukung durasi parsing/pencetakan dalam beberapa hari, minggu dan tahun.
- Karbon - Paket Golang yang sederhana, semantik dan ramah pengembang untuk Datetime.
- Karbon - Perpanjangan waktu sederhana dengan banyak metode util, porting dari pustaka karbon PHP.
- Cronrange - Parses Ekspresi jangkauan waktu cron, periksa apakah waktu yang diberikan berada dalam rentang apa pun.
- Tanggal-menambah waktu untuk bekerja dengan tanggal, rentang tanggal, rentang waktu, titik, dan waktu hari.
- DateParse - Parse Date tanpa mengetahui format terlebih dahulu.
- DURAFMT - Perpustakaan Format Durasi Waktu untuk Go.
- FEIERTage - Set fungsi untuk menghitung hari libur umum di Jerman, termasuk. Spesialisasi di Negara Bagian Jerman (Bundesländer). Hal -hal seperti Paskah, Pentakosta, Thanksgiving ...
- GO -HEPTIME - Tanggal Parse/Waktu Seperti "22 Des berikutnya jam 3 sore" dan berkisar seperti "dari hari ini hingga Kamis depan" tanpa mengetahui formatnya sebelumnya.
- Go -DateBin - PKG Parse Datetime sederhana.
- GO-PERSIAN-CALENDAR-Implementasi Kalender Persia (Surya Hijri) di Go (Golang).
- Go -str2duration - Konversi string menjadi durasi. Dukungan waktu. Durasi dikembalikan string dan banyak lagi.
- Go -Sunrise - Hitung waktu matahari terbit dan matahari terbenam untuk lokasi tertentu.
- Go -Week - Paket yang efisien untuk bekerja dengan tanggal ISO8601 minggu.
- Gostradamus - Paket GO untuk bekerja dengan tanggal.
- ISO8601 - Pur -parse ISO8601 Tanggal tanpa Regex secara efisien.
- Kair - Tanggal dan Waktu - Perpustakaan Pemformatan Golang.
- Sekarang - sekarang adalah alat waktu untuk Golang.
- STRFTIME - Formatter STRFTIME yang kompatibel dengan C99.
- TimeSpan - Untuk berinteraksi dengan interval waktu, didefinisikan sebagai waktu mulai dan durasi.
- Timeutil - Ekstensi yang berguna (TimeDelta, StrfTime, ...) ke paket waktu Golang.
- Selasa - Fungsi STRFTIME yang kompatibel dengan Ruby.
⬆ Kembali ke atas
Sistem Terdistribusi
Paket yang membantu membangun sistem terdistribusi.
- ARPC-Komunikasi jaringan yang lebih efektif, mendukung dua arah, memberi tahu, disiarkan.
- Bedrock - Menyediakan fondasi minimal, modular, dan komposable untuk pengembangan layanan dengan cepat dan lebih banyak menggunakan kerangka kerja spesifik case di GO.
- Kapiler - Kerangka pemrosesan data batch terdistribusi.
- Celeriac - Perpustakaan untuk menambahkan dukungan untuk berinteraksi dan memantau pekerja seledri, tugas dan acara di Go.
- Hashing yang konsisten - konsisten dengan beban terikat.
- Consistenthash - Hashing yang konsisten dengan replika yang dapat dikonfigurasi.
- DHT - Implementasi Bittorrent Kademlia DHT.
- Digota - GRPC Ecommerce Microservice.
- Mengerjakan