Golang開發庫的集合及作用說明

golang用於創建和發送電子郵件的庫

douceur – HTML 郵件中的內聯 CSS
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 庫 (可以用來替代 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的

以上就是Golang開發庫的集合及作用說明的詳細內容,更多關於Golang庫集合及說明的資料請關註WalkonNet其它相關文章!

推薦閱讀: