Golang庫集合
golang用於建立和傳送電子郵件的庫
email - 一個健壯的、靈活的 email 庫
Go-dkim - DKIM 庫,用於對 email 進行簽名和驗證
Go-imap - IMAP 庫,用於客戶端和伺服器
Go-message - 用於觸雷網際網路訊息格式和郵件的庫
Gomail - Gomail 是一個非常簡單且強大的庫,用於傳送電子郵件
Hectane - 輕量級 SMTP 客戶端,提供 HTTP API
hermes - 一個用於生成乾淨、響應式 HTML e-mail 的包
MailHog - Email 及 SMTP 測試工具,具有 web 及 API 介面
SendGrid - SendGrid 的 Go 語言庫,用於傳送電子郵件
smtp - SMTP 伺服器協議狀態機
golang處理日期和時間的庫
carbon - 簡單的時間擴充套件程式,有很多有用的方法,是 PHP Carbon 庫的介面
durafmt - 持續時間格式化
feiertage - 一組計算德國公共假期的函式,比如復活節、感恩節等
Go-persian-calendar - 太陽曆
Goweek - 處理星期的庫
now - Now 是一個 Go 語言的時間工具集
NullTime -時間可以是 NULL 的庫
timeutil - 為 Go 語言時間包擴充套件了有用的功能,例如時間間隔和格式化
資料庫遷移
darwin - 資料庫模式進化庫
Go-fixtures - 類似 DjanGo fixtures,用於 Golang 的內建資料庫/sql 庫
Goose - 資料庫遷移工具。你可以通過編寫增量 SQL 或 Go 語言指令碼來管理你的資料庫
Gormigrate - 資料庫模式遷移幫助工具,用於 Gorm ORM.
migrate - 資料庫遷移。命令列及 Go 語言庫
pravasan - 簡單的遷移,目前支援 MySQL 但是近期打算支援 Postgres, SQLite, MonGoDB 等等
soda - 資料庫遷移、建立、 ORM等等,用於 MySQL, PostgreSQL, 以及 SQLite.
sql-migrate - 資料庫遷移工具,允許利用 Go-bindata 將資料庫遷移嵌入應用程式
Go 語言實現的資料庫
BigCache - 為 gigabytes 量級資料設計的高效鍵/值快取
bolt - 底層鍵值資料庫
buntdb - 快速,可嵌入的,記憶體鍵值資料庫,可定義索引及 spatial
cache2Go - 基於記憶體儲存的鍵值快取,支援自動基於超時的自動失效
cockroach - 可擴充套件的、一致的事務型資料庫
couchcache - RESTful 快取微服務,基於Couchbase
dgraph - 可擴充套件的、分散式的、低延時、高吞吐的圖資料庫
diskv - 具有 disk-backed 功能的持久化鍵值儲存
eliasdb - 無依賴、事物型圖資料庫,支援 REST API、短語搜尋以及類 SQL 的查詢語言
forestdb - ForestDB 的 Go 語言藉口
GCache - 支援快取過期、 LFU、 LRU 和 ARC 的快取庫
geocache - 基於記憶體儲存的快取,適用於分散式部署的應用
Go-cache - 記憶體鍵值儲存/快取庫,適用於單機程式
Goleveldb - 使用 Go 語言實現的 LevelDB
groupcache - Groupcache 是一個快取及快取填充庫,在很多情況下用於替代 memcached.
influxdb - 用於計量、事件及實時分析的、可擴充套件的資料庫
ledisdb - Ledisdb 是一個高效能 NoSQL 資料庫,類似 Redi
leviGo - LeviGo 是 LevelDB的 Go 語言封裝
moss - Moss 是一個簡單的 LSM 鍵值儲存引擎,100% Go 語言實現
piladb - 輕量級 RESTful 資料庫引擎,基於堆疊結構
prometheus - 監控系統及時間序列資料庫
rqlite - 基於 SQLite 的輕量級的、分散式的關係型資料庫
Scribble - 小巧的 JSON 檔案儲存
tempdb - 臨時資料的鍵值對儲存
tidb - TiDB 是一個分散式的 SQL 資料庫。受到了 Google F1的啟發
tiedot - 基於 Go 語言的 NoSQL 資料庫
Tile38 - 地理位置資料庫及實時地理圍欄
golang通用資料結構及演算法
binpacker - 二進位制資料封包拆包工具,幫你構建自定義的二進位制資料流
bit - Go 語言集合資料結構。提供了額外的位操作功能
bitset - 實現了 bitset 的 Go 語言包.
bloom - Go 語言實現的布隆過濾器(bloom filter)
bloom - Go 語言實現的布隆過濾器
boomfilters - 概率統計資料結構,用於處理大量連續的資料。
count-min-log - Go 語言實現的 Count-Min-Log sketch 演算法(類似 Count-Min sketch 演算法,但是使用的記憶體更少).
cuckoofilter - Cuckoo 過濾器:一個用go語言實現的計數布隆過濾器的替代品
encoding - 整型壓縮庫
Go-adaptive-radix-tree - Go 語言實現的自適應基數樹
Go-datastructures - 一組有用的、高效能的、執行緒安全的資料結構
Go-geoindex - 基於記憶體儲存的地理索引
Go-rquad - 區域四叉樹,支援有效點位置和領域發現
Gods - Go 語言資料結構、容器、集合、列表、棧、鍵值對、 BidiMaps、樹、HashSet 等
Golang-set - 執行緒安全和非執行緒安全的高效能集合
Goskiplist - Go 語言實現的跳躍表
Gota - 為go語言實現了資料幀,序列以及資料噪音的方法
hilbert - 用於對映空間填充曲線(例如希爾伯特曲線和皮亞諾曲線)和數值的庫。
hyperloglog - HyperLogLog implementation with Sparse, LogLog-Beta bias correction and TailCut space reduction.
levenshtein - 編輯距離(levenshtein distance)和相似性度量, 可以自定義編輯代價和and Winkler-like bonus for common prefix.
levenshtein - Go 語言實現計算編輯距離
mafsa - Go 語言實現的 MA-FSA ,包含最小完美雜湊
merkletree - 實現了梅克爾樹,提供了一種高效、安全的資料結構內容驗證方法
roaring - 實現了壓縮 bitsets 的Go語言庫
skiplist - Go語言實現的跳躍表
trie - Go語言實現的Trie樹
ttlcache - In-memory LRU string-interface{} map with expiration for Golang
willf/bloom - 實現了布隆過濾器的庫
golang用於進行配置解析的庫
config - JSON 或 YAML 配置的封裝,支援環境變數和標記解析
configure - 可以通過多種途徑進行配置,包括 JSON, 標記位以及環境變數
env - 解析環境變數為 Go 語言結構體
envcfg - 解析環境變數為 Go 語言結構體
envconf - 通過環境變數來配置
envconfig - 通過環境變數讀取配置
gcfg - 讀取類 INI 型別的配置檔案為 Go 語言結構體,支援自定義變數和節
GoConfig - 通過命令列的輸入、環境變數、配置檔案來初始化一個結構體兵將一個結構體解析為輸入
Godotenv - Ruby 庫 dotenv 的 Go 語言介面 (通過 .env 來獲取環境變數)
Gofigure - 讓 Go 語言應用程式配置變得簡單
Gone/jconf - 模組化 JSON 配置工具。允許你將配置引數結構體和使用它的程式碼放在一起,而不需要讓主配置檔案瞭解所有子模組的細節來進行序列化
hjson - 人性化的 JSON,一個便於程式設計師使用和閱讀的配置檔案格式。更加輕鬆的語法,更少的錯誤和更多的註釋
inGo - 將配置標記持久化到一個類似 ini 的檔案中
ini - 用於讀寫INI 檔案的庫
joshbetz/config - 訊息配置庫,可以解析環境變數、JSON 檔案並根據SIGHUP自動重新載入
mini -用於解析類 ini 檔案的庫
store - 輕量級配置管理
viper - 這個庫名叫毒蛇 ,Go 語言配置工具
xdg -遵守 XDG 標準 的配置工具
golang認證和授權庫
authboss - 用於 web 開發的元件化認證授權系統。它嘗試儘可能的移除模板程式碼以及硬編碼,這使你每次新建 web 專案的時候,可以做到即插即用、配置並開始開發你的 web 英語,而不必每次都重新建立一個認證授權系統。
casbin - 一個支援接入控制模型(例如:ACL,RBAC,ABAC)的授權庫
Go-AWS-Auth - AWS 請求籤名庫
Go-jose - Fairly complete implementation of the JOSE working group's JSON Web Token, JSON Web 簽名以及JSON Web 加密 specs.
Go-oauth2-server - 使用 Go 語言編寫的獨立、符合標準的 OAuth2 伺服器
Go.auth - 為 Go 語言 web 應用提供的授權 API.
Gologin - 可以串連使用OAuth1 和 OAuth2 認證服務
Gorbac - 一個用 Go 語言實現的輕量級RBAC
Goth - 提供了一種簡潔的、慣用的方式來使用OAuth 和 OAuth2.
httpauth - HTTP 認證中介軟體
jwt - 簡單易用的一個JSON Web Tokens (JWT)的實現
jwt-auth - JWT 為 Go 語言 HTTP 伺服器編寫的 jwt 中介軟體,有多種配置選項
jwt-Go - Go 語言實現的JSON Web Tokens (JWT).
loginsrv - JWT 登入微服務,可以繼承OAuth2 (Github), htpasswd, osiam等後端。
oauth2 - Goauth2的繼承者。 通用 OAuth 2.0 庫,集成了對JWT, Google APIs, Compute Engine 和 App Engine的支援.
osin - Go 語言 OAuth2 伺服器庫
permissions2 - 用於追蹤使用者,登入狀態和許可的庫。使用安全 cookies 和 bcrypt.
session - Go 語言會話管理(支援 Google App Engine - GAE)
sessions - 為 Go 語言 HTTP 伺服器開發的非常簡單的、高效能的、高可定製的會話服務
traefik - 反向代理和負載均衡庫,支援多種後端
yubiGo - Yubikey 客戶端,提供了用於在 Go 語言應用中整合Yubico Yubikey 的 API
golang用於操作音訊的庫
flac - 原生 Go FLAC 解碼器
flac - 原生 Go FLAC 解碼器
gaad - 原生 Go AAC 位元流解析器
Go-sox - libsox 的 Go 語言介面
Go_mediainfo - libmediainfo 的 Go 語言介面
Gosamplerate - libsamplerate 的 Go 語言介面
id3v2 - 快速且穩定的 ID3 解析及寫入庫
mix - 基於序列的 Go 語言混音器,可用於音樂 app。
mp3 - 原生 Go MP3 解碼器
music-theory - Go 語言編寫的音樂理論模型
PortAudio - 音訊 I/O 庫的 Go 語言介面
portmidi - PortMidi 的 Go 語言介面
taglib - taglib 的 Go 語言介面
vorbis - "原生" Go Vorbis 解碼器 (使用 CGo, 但是沒有其他依賴).
waveform - 一個可以通過音訊流生成波形影象的包
golang程式碼中嵌入其他語言的包
aGora - 一種動態型別的可以嵌入 Go 中的程式語言
anko - Go 語言編寫的直譯器
binder - Lua 介面, 基於 Gopher-lua
gisp - Simple LISP
Go-duktape - Duktape JavaScript 引擎的 Go 語言介面
Go-lua - Lua 5.2 虛擬機器的純 Go 語言介面
Go-php - PHP 的 Go 語言介面
Go-python - CPython C-API 的 Go 語言介面
Golua - Lua C API。的 Go 語言介面
Gopher-lua - Go 語言編寫的 Lua 5.1 虛擬機器和編譯器
ngaro - 可嵌入的 Ngaro 虛擬機器實現,支援在 Retro 中使用腳步
otto - Go 編寫的 Javascrip 直譯器
purl - 嵌入 Go 語言的 Perl 5.18.2
go日誌庫
glg - glg 是一個簡單、快速、分級的日誌庫
glog - 分級記錄日誌的庫
Go-cronowriter 對日誌檔案進行自動迴圈寫入的庫基於當前日期和時間,類似 cronolog.
Go-log - 支援多處理器及日誌分級的庫
Go-log - Go 語言實現的 Log4j
Go-logger - 支援日誌分級的簡單的日誌工具
Gologger - 簡單易用的日誌庫,可以在彩色控制檯、簡易控制的、檔案或 Elasticsearch 中記錄
Gomol - 支援多種輸出,結構化的日誌模組,可以擴充套件它的輸出
Gone/log - 快速、可擴充套件、全功能、相容標準庫的日誌庫
log - 結構化日誌庫
log - 簡單、可配置、可擴充套件的結構化日誌庫
log-voyage - 全功能日誌saas 使用 Go 語言編寫
log15 - 簡單強大的日誌庫
logdump - 支援分級的日誌庫
logex - Go 語言日誌庫,支援追蹤和分級,基於標準庫進行了封裝
logger - 一個極簡的日誌庫
logrus - 支援結構化的日誌工具.
logrusly - logrus 的外掛,用於將錯誤傳送到 Loggly.
logutils - 對 Go 語言標準日誌工具進行了擴充套件,使其更好用
logxi - 十二要素 app 日誌工具,非常快速,令你開心
lumberjack - 簡單的迴圈日誌工具,實現了 io.WriteCloser.
mlog - 一個簡單的日誌模組,可以分5級並有一個可選的迴圈日誌檔案記錄功能,支援 stdout/stderr 輸出.
ozzo-log - 高效能日誌庫,支援日誌嚴重級別、分類及過濾。可以將過濾後的資訊傳送到不同的目的地(例如: 控制檯、網路、郵箱).
seelog - 一個靈活的、解耦的、格式化的日誌庫
slf - 簡單日誌門面(The Structured Logging Facade (SLF) ) (類似 SLF4J,但是它是結構化的,並且專為 Go 語言設計)
slog - 為 Go 語言實現的結構化日誌門面(Structured Logging Facade (SLF) )
spew - 為 Go 語言的資料結構實現了一個整潔的列印功能,有助於除錯
stdlog - Stdlog 是一個面向物件的庫,提供了分級日誌功能,對於定時任務很有用.
tail - 這個 Go 語言軟體包力爭模擬 BSD tail 的功能
xlog - 外掛架構以及靈活的日誌系統,具有日誌等級控制,多日誌目標以及自定義日誌格式功能
xlog - 結構化日誌 for net/context aware HTTP handlers ,可以靈活的分發
zap - 快速的、結構化的、分級的日誌庫
zerolog - 零分配 JSON 日誌.
golang操作表單的庫
bind - 將表單資料繫結到任意的 Go 變數上
binding - 將來自 net/HTTP 請求的表單、JSON 資料繫結到結構體
conform - 檢查使用者輸入並基於結構標籤來清理資料
form - 解碼 url 中的資料到 Go 語言變數中以及將 Go 語言變數編碼進 url 支援Dual Array 及 Full map
formam - 將表單資料解碼到結構體
forms - 框架無關的表單/JSON資料解析驗證庫,支援多部分表單及檔案
Gorilla/csrf - 為 Go 語言 web 應用提供 CSRF 防禦
nosurf - CSRF 防禦中介軟體
Go實現訊息系統的庫
CentrifuGo - 實時訊息伺服器
dbus - D-Bus的 Go 語言介面
drone-line - 通過軟體包,docker 或是 Drone CI來發送 Line 通知
emitter - 通過Go語言的方式傳送事件訊息,可以使用萬用字元,斷言,取消傳送等優秀特性
EventBus - 輕量級事件庫,支援非同步
gaurun-client - Go 語言編寫的 Gaurun 客戶端
Glue - 健壯的 Go 和 Javascript Socket 庫 (可以用來替代ofollow,noindex">Socket.io ).
Go-longpoll - 支援長輪詢的釋出與訂閱
Go-notify - 原生實現的桌面通知規範
Go-nsq - NSQ 官方 Go 語言庫
Go-socket.io - Go 語言的socket.io 庫 ,一個實時應用框架.
Go-vitotrol - Viessmann Vitotrol 服務的 Go 語言客戶端
Gollum - 一個 n:m 的多路複用器,從不同的源匯聚訊息並向目標進行廣播
Golongpoll - HTTP 長輪詢伺服器庫,讓 web 釋出與訂閱變的更簡單.
Goose - Go 語言實現的伺服器端事件傳送
Gopush-cluster - Gopush-cluster 是一個 Go 語言實現的支援叢集的comet服務(支援 websocket,和tcp協議)
Gorush - 通知推送伺服器,使用 APNs2 和 Google GCM.
guble - 一個使用通知推送(Google Firebase Cloud Messaging, Apple Push Notification services, SMS)、websockets 、REST API 的訊息伺服器。提供了分散式操作和訊息持久化特性
machinery - 非同步任務佇列,基於分散式訊息處理
manGos - 純 Go 語言實現的 Nanomsg ("Scalable Protocols")
melody - 用於處理 websocket 會話的一個極簡框架,包括廣播和自動 ping/pong 處理
NATS Go Client - 輕量級高效能釋出訂閱(publish-subscribe) 以及分散式訊息佇列系統,這個一個Go語言庫.
nsq-event-bus - 針對 NSQ 的主題和頻道進行了簡單的封裝
oplog - 原生的 oplog/replication 系統,用於 REST APIs
pubsub - 一個簡單的 pubsub 軟體包
RapidMQ - RapidMQ 是一個輕量級,可靠的本地訊息佇列管理庫
sarama - 用於 Apache Kafka 的庫
Uniqush-Push - 基於 Redis 的統一推服務,用於伺服器端向移動客戶端推送訊息
zmq4 - ZeroMQ version 4的 GO 語言介面。也有適用於version 3 及 version 2的