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

概述

这是一个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-数据库基准测试工具,支持多个数据库和脚本。

  • go-mysql -Go工具集,用于处理MySQL协议和复制。

  • go-mysql- elasticsearch-自动将您的MySQL数据同步到Elasticsearch中。

  • kingshard -kingshard是由Golang支持的MySQL的高性能代理。

  • myreplication -MySql二进制日志复制侦听器。支持基于语句和行的复制。

  • octillery-用于分片数据库的Go包(支持每个ORM或原始SQL)。

  • orchestrator器-MySQL复制拓扑管理器和可视化器。

  • pgweb-基于Web的PostgreSQL数据库浏览器。

  • prep -使用准备好的SQL语句而不更改代码。

  • perst-从任何PostgreSQL数据库提供RESTful API。

  • rwdb -rwdb为多个数据库服务器设置提供只读副本功能。

  • vitess -vitess提供了服务器和工具,这些工具和工具有助于为大型Web服务扩展MySQL数据库。

SQL查询构建器,用于构建和使用SQL的库。

  • dbq -Go的零样板数据库操作。

  • Dotsql -Go库,可帮助您将sql文件保存在一个位置并轻松使用它们。

  • gendry-非侵入性SQL构建器和强大的数据绑定器。

  • godbal - go的数据库抽象层(dbal)。支持SQL Builder,轻松获得结果。

  • goqu SQL构建器和查询库。

  • igor -PostgreSQL的抽象层,支持高级功能并使用类似于gorm的语法。

  • jet -框架写在Go类型安全的SQL查询,有能力轻松地转换数据库查询结果到期望的任意对象结构。

  • mpath-用于SQL记录的MPTT(修改的预排序树遍历)包-物化路径的实现。

  • ormlite-轻量级软件包,包含一些类似于ORM的功能和sqlite数据库的帮助程序。

  • ozzo-dbx-强大的数据检索方法以及与数据库无关的查询构建功能。

  • qry-使用原始SQL查询从文件生成常量的工具。

  • sqlf-快速的SQL查询生成器。

  • sqrl -SQL查询生成器,Squirrel的分支,具有改进的性能。

  • Squalus -Go SQL包上的薄层,使执行查询更加容易。

  • Squirrel -Go库,可帮助您构建SQL查询。

  • xo-根据现有的架构定义或支持PostgreSQL,MySQL,SQLite,Oracle和Microsoft SQL Server的自定义查询为数据库生成惯用的Go代码。

数据库驱动程序

用于连接和操作数据库的库。

  • 关系数据库

    • avatica-用于数据库/ sql的Apache Avatica / Phoenix SQL驱动程序。

    • bgc -BigQuery for go的数据存储连接。

    • firebirdsql -Go的Firebird RDBMS SQL驱动程序。

    • go-adodb-用于使用数据库/ sql的go的Microsoft ActiveX对象数据库驱动程序。

    • go-mssqldb -Go的Microsoft MSSQL驱动程序。

    • go-oci8-使用数据库/ sql的go的Oracle驱动程序。

    • go-sql-driver / mysql -Go的MySQL驱动程序

    • go-sqlite3-使用数据库/ sql的go的SQLite3驱动程序。

    • gofreetds -Microsoft MSSQL驱动程序。在FreeTDS上进行包装。

    • goracle -Go的Oracle驱动程序,使用ODPI-C驱动程序。

    • pgx -PostgreSQL驱动程序支持的功能超出了数据库/ sql所公开的功能。

    • pq-用于数据库/ sql的Pure Go Postgres驱动程序。

  • NoSQL数据库

    • aerospike-client-go -Go语言的Aerospike客户端。

    • arangolite-用于ArangoDB的轻量级golang驱动程序。

    • ASC -数据存储连通性的塞式走。

    • dynago -Dynago是DynamoDB的最少惊喜客户端的原则。

    • forestdb绑定。

    • go-couchbase -Go中的Couchbase客户端。

    • go-pilosa-Pilosa的 Go客户端库。

    • go-rejson-使用Redigo golang客户端的Redislabs ReJSON模块的Golang客户端。轻松将结构作为JSON对象存储和操作在Redis中。

    • gocb-官方Couchbase Go SDK。

    • gocql -Apache Cassandra的Go语言驱动程序。

    • godis-受jedis启发,由golang编写的redis客户端工具。

    • godscache -Google Cloud Platform Go数据存储区程序包的包装,可使用memcached添加缓存。

    • gomemcache -Go编程语言的memcache客户端库。

    • gorethink-用于RethinkDB的Go语言驱动程序。

    • goriak -Riak KV的Go语言驱动程序。

    • mgm -Go的基于MongoDB模型的ODM(基于官方的MongoDB驱动程序)。

    • mgo-(无需维护)用于Go语言的MongoDB驱动程序,该驱动程序遵循标准的Go习惯用法,通过非常简单的API来实现丰富且经过测试的功能选择。

    • mongo-go-driver -Go语言的官方MongoDB驱动程序。

    • neo4j-用于Golang的Neo4j Rest API绑定。

    • Neo4j-GO -golang中的Neo4j REST客户端。

    • neoism - Golang的 Neo4j客户。

    • redeo-与Redis协议兼容的TCP服务器/服务。

    • redigo -Redigo是Redis数据库的Go客户端。

    • redis -Golang的Redis客户端

    • xredis,可自定义,干净且易于使用的Redis客户端。

  • 搜索和分析数据库。

    • bleve -go的现代文本索引库。

    • elastic -Go的Elasticsearch客户端

    • elasticsql -转换SQL到elasticsearch DSL围棋。

    • elastigo -Elasticsearch客户端库。

    • go-elasticsearch -Go的官方Elasticsearch客户。

    • goes -与Elasticsearch进行交互的库。

    • riot-开源,分布式,简单高效的搜索引擎。

    • Skizze-概率数据结构服务和存储。

  • 多个后端。

    • cachego-用于多个驱动程序的Golang缓存组件。

    • cayley-支持多个后端的Graph数据库。

    • dsc -SQL,NoSQL,结构化文件的数据存储连接。

    • gokv -Go的简单键值存储抽象和实现(Redis,Consul,etcd,bbolt,BadgerDB,LevelDB,Memcached,DynamoDB,S3,PostgreSQL,MongoDB,CockroachDB等)。

日期和时间

用于处理日期和时间的库。

  • carbon -简单的时间延长了很多UTIL方法,从PHP碳库移植。

  • cronrange-解析Cron风格的时间范围表达式,检查给定时间是否在任何范围内。

  • date -Augments用于处理日期,日期范围,时间跨度,期间和日期的时间。

  • dateparse-在不知道格式的情况下解析日期。

  • durafmt -Go的持续时间格式库。

  • feiertage-计算德国公共假期的功能集,包括 德国(Bundesländer)州的专业。复活节,五旬节,感恩节等

  • go-persian-calendar -Go(golang)中波斯(Solar Hijri)日历的实现。

  • go-str2duration-将字符串转换为持续时间。支持时间。持续时间返回了字符串等。

  • go-sunrise -计算给定位置的日出和日落时间。

  • go-week -使用ISO8601周日期的有效软件包。

  • iso8601-无需正则表达式即可有效解析ISO8601日期时间

  • kair-日期和时间-Golang格式库。

  • now -现在是golang的时间工具包。

  • NullTime -Nullable time.Time

  • strftime-与C99兼容的strftime格式化程序。

  • timespan -用于与时间间隔互动,定义为开始时间和持续时间。

  • timeutil -golang时间包的有用扩展(Timedelta,Strftime等)。

  • tuesday -兼容Ruby的Strftime函数。

  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值