• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

Go 相关的框架,库和软件的精选清单

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

概述

这是一个Go 相关的框架,库和软件的精选清单,引用自 awesome-go项目,并翻译补充而来这是一个Go 相关的框架,库和软件的精选清单,引用自 awesome-go项目,并翻译补充而来

音频和音乐

用于处理音频的库。

  • EasyMIDI -EasyMidi是一个简单可靠的库,用于处理标准Midi文件(SMF)。

  • flac支持FLAC流的Native Go FLAC编码器/解码器。

  • gaad机Go AAC比特流解析器。

  • go- sox-用于go的libsox绑定。

  • go_mediainfo-用于go的libmediainfo绑定。

  • gosamplerate-用于go的libsamplerate绑定。

  • id3v2-用于Go的快速,稳定的ID3解析和编写库。

  • malgo-迷你音频库。

  • minimp3-轻量级MP3解码器库。

  • mix -为音乐应用程序基于序列转到本地音频混合器。

  • mp3 -Native Go MP3解码器。

  • music-theory -Go中的音乐理论模型。

  • Oto-在多个平台上播放声音的低级库。

  • PortAudio-用于PortAudio音频 I / O 库的绑定。

  • portmidi-绑定PortMidi。

  • taglib-为taglib绑定。

  • vorbis- “本机” Go Vorbis解码器(使用CGO,但没有依赖项)。

  • waveform -Go程序包,能够从音频流生成波形图像。

身份验证和OAuth

用于实施认证方案的库。

  • authboss -Web的模块化身份验证系统。它尝试删除尽可能多的样板文件和“硬东西”,以便每次在Go中启动新的Web项目时,都可以将其插入,配置并开始构建应用程序,而不必每次都构建身份验证系统。

  • branca -Branca令牌的Golang实现。

  • casbin授权库,支持访问控制模型,如ACL,RBAC,ABAC。

  • cookiestxt提供cookies.txt文件格式的解析器。

  • go-jose -JOSE工作组的JSON Web令牌,JSON Web签名和JSON Web加密规范的相当完整的实现。

  • go-oauth2 server-用Golang编写的独立,符合规范的OAuth2服务器。

  • gologin用于使用OAuth1和OAuth2身份验证提供程序登录的可链接处理程序。

  • gorbac提供基于角色的轻量级访问控制(RBAC)实现。

  • goth -提供一种简单,干净且惯用的方式来使用OAuth和OAuth2。开箱即用地处理多个提供程序。

  • httpauth -HTTP身份验证中间件。

  • jeff具有可插拔后端的简单,灵活,安全且惯用的Web会话管理。

  • jwt干净且易于使用的JSON Web令牌(JWT)实现。

  • jwt轻量级JSON Web令牌(JWT)库。

  • jwt-auth auth-用于Golang http服务器的JWT中间件,具有许多配置选项。

  • jwt-go -JSON Web令牌(JWT)的Golang实现。

  • loginsrv-具有可插入后端的JWT登录微服务,例如OAuth2(Github),htpasswd和osiam。

  • oauth2 -goauth2的后继者。JWT,Google API,Compute Engine和App Engine支持随附的通用OAuth 2.0程序包。

  • osin -Golang OAuth2服务器库。

  • paseto与平台无关的安全令牌(PASETO)的Golang实现。

  • permissions2 2-用于跟踪用户,登录状态和权限的库。使用安全的cookie和bcrypt。

  • rbac-用于Go应用程序的简约RBAC软件包。

  • scope -在Go中轻松管理OAuth2范围。

  • scs -HTTP服务器的会话管理器。

  • securecookie-高效的安全cookie编码/解码。

  • session -Web服务器的Go会话管理(包括对Google App Engine-GAE的支持)。

  • sessiongate- go-使用SessionGate Redis模块进行Go会话管理。

  • sessions -用于go http服务器的简单,高性能,高度可定制的会话服务。

  • sessionup-简单但有效的HTTP会话管理和标识包。

  • signedvalue -签署并兼容时间戳的字符串龙卷风 create_signed_valuedecode_signed_value以及因此set_secure_cookieget_secure_cookie

  • sjwt-简单的jwt生成器和解析器。

机器人

用于构建和使用机器人的库。

  • go-chat- bot-用Go编写的IRC,Slack和Telegram机器人。

  • go- joe-受Hubot启发但用Go编写的通用bot库。

  • go-sarah-为所需的聊天服务(包括LINE,Slack,Gitter等)构建机器人的框架。

  • go-tgbot-纯Golang电报Bot API包装器,由swagger文件,基于会话的路由器和中间件生成。

  • go-twitch-irc-库为twitch.tv聊天写机器人

  • Golang CryptoTrading Bot-基于控制台的交易机器人的golang实现,用于加密货币交易。

  • govkbot-简单的Go VK机器人库。

  • hanu-编写Slack机器人的框架。

  • stellar(Kelp)-Stellar DEX的官方交易和做市机器人。开箱即用,用Golang编写,可与集中交易和自定义交易策略兼容。

  • margelet-构建Telegram机器人的框架。

  • micha-用于电报Bot API的库。

  • slacker-易于使用的框架来创建Slack机器人。

  • slackscot-用于构建Slack机器人的另一个框架。

  • tbot-具有类似于net / http的API的电报bot服务器。

  • telebot-用Go编写的电报bot框架。

  • telegram-bot-api-简单干净的Telegram bot客户端。

  • Tenyks-使用Redis和JSON进行消息传递的面向服务的IRC机器人。

命令行

标准CLI

用于构建标准或基本命令行应用程序的库。

  • 1build-命令行工具,可轻松管理特定于项目的命令。

  • argparse-受Python的argparse模块启发的命令行参数解析器。

  • argv -Go库使用bash语法将命令行字符串拆分为参数数组。

  • CLI -基于golang结构标签易于使用的命令行包功能丰富。

  • cli-用于在Go中构建命令行界面的简单而完整的API。

  • cli- init-开始构建Golang命令行应用程序的简单方法。

  • climax -按照Go命令的精神,具有“人脸”功能的替代CLI。

  • clîr-简单清晰的CLI库。无依赖关系。

  • cmd-扩展标准flag软件包以支持子命令,并以idomatic方式提供更多支持。

  • cmdr-一种POSIX / GNU样式,类似于getopt的命令行UI Go库。

  • cobra -现代Go CLI交互的指挥官。

  • commandeer-开发人员友好的CLI应用程序:根据结构字段和标签设置标志,默认值和用法。

  • complete-在Go + Go命令bash完成中编写bash完成。

  • Dnote-具有多设备同步功能的简单命令行笔记本。

  • docopt.go-命令行参数解析器,它将使您微笑。

  • env-基于标记的结构环境配置。

  • flag -简单但功能强大的命令行选项解析库,用于支持围棋子。

  • flaggy-强大而惯用的标志包,具有出色的子命令支持。

  • flagvar -Go的标准flag软件包的标志参数类型的集合。

  • go-arg -Go中基于结构的参数解析。

  • go-commander -Go库可简化CLI工作流程。

  • go-flags -go命令行选项解析器。

  • go-getoptions -Go选项解析器,它启发了Perl的GetOpt :: Long的灵活性。

  • gocmd-用于构建命令行应用程序的Go库。

  • hiboot cli-具有自动配置和依赖项注入的cli应用程序框架。

  • job -JOB,将您的短期命令作为一项长期工作。

  • kingpin-支持子命令的命令行和标志解析器。

  • liner -用于命令行界面的类似于readline的库。

  • mitchellh / cli-用于实现命令行界面的Go库。

  • mow.cli -Go库,用于使用复杂的标志和参数解析和验证来构建CLI应用程序。

  • ops -Unikernel生成器/协调器。

  • pflag -Go的标志包的直接替换,实现POSIX / GNU样式的–flags。

  • readline-纯的golang实现,根据MIT许可在GNU-Readline中提供大多数功能。

  • sand-用于创建解释器的简单API等。

  • sflags-基于结构的标志生成器,用于标志,urfave / cli,pflag,眼镜蛇,主销和其他库。

  • strumt-创建提示链的库。

  • ts-时间戳转换和比较工具。

  • ukautz / clif-小型命令行界面框架。

  • urfave / cli-简单,快速,有趣的软件包,用于在Go中构建命令行应用程序(以前为codegangsta / cli)。

  • wlog-支持跨平台颜色和并发性的简单日志记录界面。

  • wmenu-用于cli应用程序的易于使用的菜单结构,提示用户做出选择。

高级控制台用户界面

用于构建控制台应用程序和控制台用户界面的库。

  • asciigraph -Go软件包,可在命令行应用程序中制作轻量级的ASCII线图graph,而无需其他依赖项。

  • aurora - ANSI终端颜色支持fmt.Printf / sprintf的。

  • cfmt-受引导程序颜色类启发的上下文fmt。

  • chalk -直观的包装,用于美化终端/控制台输出。

  • colourize -Go库,用于终端中的ANSI颜色文本。

  • ctc-非侵入性跨平台终端颜色库不需要修改Print方法。

  • go-ataman -Go库,用于在终端中呈现ANSI彩色文本模板。

  • go-colorable -Windows 的可着色书写器。

  • go-colortext-用于在终端输出颜色的Go库。

  • go-isatty -golang的isatty。

  • go- prompt-受python-prompt-toolkit启发,用于构建功能强大的交互式提示的库。

  • gocui-极简主义Go库,旨在创建控制台用户界面。

  • gommon / color-样式终端文本。

  • gookit / color-终端颜色渲染工具库,支持16种颜色,256种颜色,RGB颜色渲染输出,与Windows兼容。

  • mpb-终端应用程序的多进度条。

  • progressbar-在每个OS中均可使用的基本线程安全进度条。

  • simpletable -Go终端中的简单表。

  • tabby -超级简单Golang表一个小小的图书馆。

  • tabular -从命令行实用程序打印ASCII表,而无需将大量数据传递给API。

  • termbox-go -Termbox是用于创建跨平台基于文本的界面的库。

  • termdash-基于termbox的并受termui启发的终端仪表板。

  • termui-基于termbox-go的终端仪表板,其灵感来自blessed-contrib

  • uilive-用于实时更新终端输出的库。

  • uiprogress-灵活的库,用于在终端应用程序中呈现进度条。

  • uitable-使用表格数据提高终端应用程序可读性的库。

组态

用于配置解析的库。

  • cleanenv-简约的配置读取器(来自文件,ENV,以及您想要的任何位置)。

  • config-用于Go项目的轻量级但功能强大的配置包。

  • config-云本机应用程序配置。仅两行将ENV绑定到结构。

  • config - JSON或YAML配置与包装环境变量和标志解析。

  • configure-通过多个来源提供配置,包括JSON,标志和环境变量。

  • confita-从多个后端以级联方式将配置加载到结构中。

  • conflate -图书馆/工具合并来自任意URL,验证多个JSON / YAML / TOML文件针对JSON模式,并在架构中定义的默认值应用。

  • ENV -解析环境变量去结构(使用默认值)。

  • envcfg环境变量解编为Go结构。

  • envconf-来自环境的配置。

  • envconfig-从环境变量中读取您的配置。

  • envh-帮助程序管理环境变量。

  • gcfg-将INI样式的配置文件读取到Go结构中;支持用户定义的类型和子节。

  • genv-通过dotenv支持轻松读取环境变量。

  • go-ssm-config -Go实用程序,用于从AWS SSM(参数存储)加载配置参数。

  • go-up-一个简单的配置库,具有递归占位符解析度,没有魔术。

  • goConfig-将结构解析为输入,并使用命令行,环境变量和配置文件中的参数填充此结构的字段。

  • godotenv -Ruby的dotenv库的Go端口(从加载环境变量.env)。

  • gofigure Go应用程序的配置。

  • missing / jconf-模块化JSON配置。在不牺牲完整的配置序列化的情况下,使您的配置结构以及它们配置的代码以及将解析委派给子模块的过程。

  • gookit / config-应用程序配置管理(加载,获取,设置)。支持JSON,YAML,TOML,INI,HCL。多文件加载,数据覆盖合并。

  • harvester -一个易于使用的静态和动态配置包supportig播种,ENV VAR和集成领事。

  • hjson -Human JSON,人类的配置文件格式。轻松的语法,更少的错误,更多的注释。

  • ingo-标志ingo在类似ini的配置文件中。

  • ini-转到包中以读取和写入INI文件。

  • joshbetz / config -Go的小型配置库,用于解析环境变量,JSON文件,并在SIGHUP上自动重新加载。

  • kelseyhightower / envconfig -Go库,用于管理来自环境变量的配置数据。

  • koanf-轻巧,可扩展的库,用于读取Go应用程序中的配置。内置对JSON,TOML,YAML,env,命令行的支持。

  • konfig-在分布式处理时代,Go的可组合,可观察和高性能配置处理。

  • mini -Golang软件包,用于解析ini样式的配置文件。

  • nasermirzaei89 / env-用于读取环境变量的简单有用的程序包。

  • onion -用于Go的基于层的配置,支持JSON,TOML,YAML,属性,etcd,env和使用PGP加密。

  • sprbox-构建环境感知工具箱工厂和不可知的配置解析器(YAML,TOML,JSON和环境变量)。

  • store -Go的轻量级配置管理器。

  • viper -使用尖牙进行配置。

  • xdg-遵循XDG标准的跨平台软件包。

持续集成

持续集成帮助工具。

  • CDS-企业级CI / CD和DevOps自动化开源平台。

  • drone -Drone是一个基于Go编写的基于Docker的持续集成平台。

  • duci-简单的ci服务器,不需要特定于域的语言。

  • gomason-在干净的工作区中测试,构建,签名和发布go二进制文件。

  • goveralls -Go Coveralls.io连续代码覆盖率跟踪系统的集成。

  • overalls -适用于工具包之类的Multi-Package go project coverprofile。

  • roveralls-递归覆盖率测试工具。

CSS预处理器

用于预处理CSS文件的库。

  • gcss -Pure Go CSS预处理器。

  • go-libsass-转到与100%Sass兼容的libsass项目的包装器。

数据结构

Go中的通用数据结构和算法。

  • algorithms -算法和数据结构。CLRS研究。

  • binpacker-二进制打包程序和解压缩程序可帮助用户构建自定义二进制流。

  • bit -具有额外的位旋转功能的Golang设置数据结构。

  • bitset -实现位集的Go包。

  • bloom-在Go中实现的Bloom过滤器。

  • bloom -Golang Bloom过滤器实现。

  • boomfilters-用于处理连续,无界流的概率数据结构。

  • parallel-writer-的高度并发替代bufio.Writer

  • conjungo-一个小型,强大而灵活的合并库。

  • count-min-log-执行Count-Min-Log草图:使用近似计数器进行近似计数(类似于Count-Min草图,但使用较少的内存)。

  • crunch -Go包实现了用于轻松处理各种数据类型的缓冲区。

  • cuckoofilter -Cuckoo过滤器:是Go中实现的计数布隆过滤器的很好替代。

  • deque-高度优化的双端队列。

  • deque-快速环形缓冲区双端队列(双端队列)。

  • dict -Go的类似Python的字典(dict)。

  • encoding -Go的整数压缩库。

  • go-adaptive-radix-tree-自适应基数树的 Go实现。

  • go-datastructures-有用,高性能和线程安全的数据结构的集合。

  • go-ef -Elias-Fano编码的Go实现。

  • go-geoindex-内存中的地理索引。

  • go-mcache-快速内存键:值存储/缓存库。指针缓存。

  • go-rquad-具有有效点位置和邻居发现功能的区域四叉树。

  • gocache-具有多个存储(内存,memcache,redis等),可链接,可加载,指标缓存等的完整Go缓存库。

  • goconcurrentqueue-并发FIFO队列。

  • gods -数据结构。容器,集合,列表,堆栈,地图,BidiMap,树,HashSet等。

  • gofal -Go的小数api。

  • golang-set - Go的线程安全和非线程安全高性能集。

  • goset -Go的有用的Set集合实现。

  • goskiplist -Go中的跳过列表实现。

  • gostl - go的数据结构和算法库,旨在提供类似于C ++ STL的功能。

  • gota -Go的数据框,序列和数据整理方法的实现。

  • hide -ID类型,将其编组进/出哈希以防止将ID发送给客户端。

  • hilbert -Go程序包,用于在空间填充曲线(例如Hilbert和Peano曲线)之间映射值。

  • hyperloglog-具有稀疏,LogLog-Beta偏差校正和TailCut空间缩减的HyperLogLog实现。

  • iter -C ++ STL迭代器和算法的实现。

  • levenshtein -Levenshtein距离和相似性度量标准,具有可自定义的编辑费用和通用前缀的类似于Winkler的奖金。

  • levenshtein-在Go中计算levenshtein距离的实现。

  • mafsa-具有最小完美散列的MA-FSA实现。

  • merkletree -merkle树的实现,可对数据结构的内容进行有效且安全的验证。

  • mspm-用于信息检索的多字符串模式匹配算法。

  • null -可空转到类型,可以被编组/解组到/从JSON。

  • parsefields-用于解析类似JSON日志的工具,以收集唯一的字段和事件。

  • pipeline -具有扇入和扇出的管线的实现。

  • ptrie-前缀树的实现。

  • remember-go -缓存慢速数据库查询的通用接口(由redis,memcached,ristretto或内存支持)。

  • ring -围棋实现了高性能,线程安全的布隆过滤器。

  • roaring -实施压缩位集的软件包。

  • set -使用LinkedHashMap的围棋设置简单的数据结构实现。

  • skiplist-非常快地执行Skiplist。

  • skiplist -Go中的跳过列表实现。

  • timedmap-具有过期的键/值对的地图。

  • treap-使用树堆的持久,快速排序的地图。

  • trie -Go中的Trie实现。

  • ttlcache-内存中的LRU字符串接口{}映射,其中包含golang的到期时间。

  • typ-空类型,安全的原始类型转换和从复杂结构中获取值。

  • willf / bloom-实施Bloom过滤器的Go软件包。

数据库

在Go中实现的数据库。

  • badger -Go中的快速键值存储。

  • bbolt -Go的嵌入式键/值数据库。

  • bcache-最终一致的分布式内存缓存Go库。

  • BigCache-高效的键/值缓存,用于千兆字节的数据。

  • Bitcask -Bitcask是使用纯Go编写的可嵌入,持久且快速的键值(KV)数据库,由于具有bitcask磁盘布局(LSM + WAL),因此具有可预测的读/写性能,低延迟和高吞吐量。

  • buntdb-快速,可嵌入的内存中键/值数据库,用于Go,具有自定义索引和空间支持。

  • cache -内存中键:具有到期时间,0个依存关系,100%覆盖率的值存储。

  • cache2go-内存键:值缓存,支持基于超时的自动失效。

  • clusteredBigCache-具有集群支持和单个项到期的BigCache。

  • cockroach -可扩展,地理复制,事务性数据存储。

  • coffer -支持事务的简单ACID键值数据库。

  • couchcache-由Couchbase服务器支持的RESTful缓存微服务。

  • CovenantSQL -CovenantSQL是区块链上的SQL数据库。

  • Databunker-建立符合GDPR和CCPA的个人身份信息(PII)存储服务。

  • dgraph-可扩展,分布式,低延迟,高吞吐量图形数据库。

  • diskv-本地支持的磁盘键值存储。

  • eliasdb-具有REST API,短语搜索和类似SQL的查询语言的无依赖关系的事务图数据库。

  • fastcache-快速线程安全的内存高速缓存,用于大量条目。最大限度地减少GC开销。

  • GCache-缓存库,支持过期的缓存,LFU,LRU和ARC。

  • go-cache -Go的内存中键:值存储/缓存(类似于Memcached)库,适用于单机应用程序。

  • goleveldb - Go中LevelDB键/值数据库的实现。

  • gorocksdb -Gorocksdb是用Go编写的RocksDB的包装。

  • gostore -Gostore是用Go语言编写的一种简单,持久的嵌入式键值存储引擎。

  • groupcache -Groupcache是一个缓存和缓存填充库,在许多情况下可以替代memcached。

  • influxdb-可扩展的数据存储区,用于指标,事件和实时分析。

  • Kivik -Kivik为CouchDB,PouchDB和类似数据库提供了通用的Go和GopherJS客户端库。

  • ledisdb -Ledisdb是基于LevelDB的高性能NoSQL,如Redis。

  • levigo -Levigo是LevelDB的Go包装器。

  • moss -Moss是用100%Go编写的简单LSM键值存储引擎。

  • nutsdb -Nutsdb是用纯Go编写的简单,快速,可嵌入,持久性键/值存储。它支持完全可序列化的事务和许多数据结构,例如列表,集合,排序集合。

  • piladb-基于堆栈数据结构的轻量级RESTful数据库引擎。

  • prometheus-监视系统和时间序列数据库。

  • pudge-使用Go的标准库编写的快速简单的键/值存储。

  • rqlite-基于SQLite构建的轻型,分布式,关系数据库。

  • golang-scribble -小型平面文件JSON存储。

  • slowpoke-具有持久性的键值存储。

  • tempdb-临时项目的键值存储。

  • tidb -TiDB是分布式SQL数据库。受到Google F1设计的启发。

  • tieot-由Golang提供支持的NoSQL数据库。

  • tracedb-用于IoT,实时消息传递应用程序的快速时间序列数据库。使用github.com/unit-io/trace应用程序通过tcp或websocket通过pubsub访问tracedb。

  • Vasto-分布式高性能键值存储。在磁盘上。最终一致。哈。能够增长或收缩而不会中断服务。

  • VictoriaMetrics-快速,资源有效且可扩展的开源时间序列数据库。可用作Prometheus的长期远程存储。支持PromQL。

数据库架构迁移。

  • avro-发现SQL模式并将其转换为AVRO模式。将SQL记录查询为AVRO字节。

  • darwin -Go的数据库架构演化库。

  • go-fixtures-用于Golang出色的内置数据库/ sql库的Django样式的夹具。

  • go-pg-migrations-一个Go软件包,可帮助使用go-pg / pg编写迁移。

  • gondolier -使用结构修饰符的数据库迁移库。

  • goose-数据库迁移工具。您可以通过创建增量SQL或Go脚本来管理数据库的演变。

  • gormigrate -Gorm ORM的数据库架构迁移帮助器。

  • migrate -数据库迁移。CLI和Golang库。

  • migrator-简单的Go数据库迁移库。

  • pravasan-简单迁移工具-当前用于MySQL,但计划很快支持Postgres,SQLite,MongoDB等。

  • schema-用于在Go二进制文件中嵌入数据库/ sql兼容数据库的模式迁移的库。

  • skeema -MySQL的纯SQL模式管理系统,支持分片和外部在线模式更改工具。

  • soda -用于MySQL,PostgreSQL和SQLite的数据库迁移,创建,ORM等。

  • sql-migrate-数据库迁移工具。允许使用go-bindata将迁移嵌入到应用程序中。

数据库工具。

  • bucket -为Couchbase优化数据结构框架,专门在一个水桶使用。

  • chproxy -ClickHouse数据库的HTTP代理。

  • clickhouse-bulk-收集小的广告素材并将大的请求发送到ClickHouse服务器。

  • datagen多表并支持多行DML的快速数据生成器。

  • dbbench-数据库基准测试工具,支持多个数据


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
pycharm中django项目报Cannot find declaration to go to问题发布时间:2022-07-10
下一篇:
Github开源项目(二)gorun(go语言工具)发布时间:2022-07-10
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap