2018最新精选的Go框架,库和软件的精选列表 三

测试

用于测试代码库和生成测试数据的库。

  • 测试框架

    • 断言 - 基本断言库与侧面本机测试一起使用,带有用于自定义断言的构建块。
    • badio - Go的testing/iotest包扩展。
    • baloo - 简单而通用的端到端HTTP API测试变得简单。
    • bro - 在目录中监视文件并为它们运行测试。
    • cupaloy - 您的测试框架的简单快照测试插件。
    • dbcleaner - 用于测试目的的清理数据库,受database_cleanerRuby的启发。
    • dsunit - SQL,NoSQL,结构化文件的数据存储区测试。
    • endly - 声明式端到端功能测试。
    • frisby - REST API测试框架。
    • 银杏 - Go的BDD测试框架。
    • go-carpet - 查看终端测试覆盖范围的工具。
    • go-mutesting - Go源代码的变异测试。
    • go-vcr - 记录并重放您的HTTP交互,以进行快速,确定和准确的测试。
    • 地精 - 摩卡喜欢Go的测试框架。
    • gocheck - 更高级的测试框架替代gotest。
    • GoConvey - 具有Web UI和实时重新加载的BDD风格框架。
    • gocrest - 用于Go断言的可组合的类似Hamcrest的匹配器。
    • godog - Cucumber或Behat喜欢Go的BDD框架。
    • gofight - Golang路由器框架的API处理程序测试。
    • gogiven - 类似YATSPEC的BDD测试框架。
    • gomega - Rspec就像matcher / assertion库。
    • GoSpec - Go编程语言的BDD风格测试框架。
    • gospecify - 这提供了用于测试Go代码的BDD语法。任何使用过像rspec这样的库的人都应该很熟悉。
    • gosuite - testing通过利用Go1.7的Subtests 带来设置/拆卸设施的轻量级测试套件。
    • Hamcrest - 声明性Matcher对象的流畅框架,当应用于输入值时,会生成自描述结果。
    • httpexpect - 简明,声明且易于使用的端到端HTTP和REST API测试。
    • restit - Go micro framework帮助编写RESTful API集成测试。
    • testfixtures - Rails的帮助程序,如测试数据库应用程序的测试夹具。
    • 作证 - 对标准测试包的神圣扩展。
    • wstest - 用于对websocket http.Handler进行单元测试的Websocket客户端。
  • 嘲笑

    • counterfeiter - 用于生成自包含模拟对象的工具。
    • go-sqlmock - 用于测试数据库交互的Mock SQL驱动程序。
    • go-txdb - 基于单个事务的数据库驱动程序主要用于测试目的。
    • gock - 多才多艺的HTTP 模拟很容易。
    • gomock - Go编程语言的模拟框架。
    • govcr - Golang的 HTTP模拟:记录和重放用于离线测试的HTTP交互。
    • minimock - 用于Go接口的模拟生成器。
    • mockhttp - Go http.ResponseWriter的模拟对象。
  • 模糊测试和增量调试/缩减/缩小。

    • go-fuzz - 随机测试系统。
    • gofuzz - 用于使用随机值填充go对象的库。
    • Tavor - 通用模糊测试和增量调试框架。
  • Selenium和浏览器控制工具。

    • cdp - 适用于Chrome调试协议的类型安全绑定,可与浏览器或实现它的其他调试目标一起使用。
    • chromedp - 驱动/测试Chrome,Safari,Edge,Android Webviews以及支持Chrome调试协议的其他浏览器的方法。
    • ggr - 路由和代理Selenium Wedriver请求多个Selenium集线器的轻量级服务器。
    • selenoid - 在容器中启动浏览器的备用Selenium中心服务器。

文字处理

用于解析和操作文本的库。

  • 具体格式
    • align - 一个对齐文本的通用应用程序。
    • allot - CLI工具和漫游器的占位符和通配符文本解析。
    • bbConvert - 将bbCode转换为HTML,允许您添加对自定义bbCode标记的支持。
    • blackfriday - Go中的Markdown处理器。
    • bluemonday - HTML Sanitizer。
    • colly - Gophers的快速优雅的刮痧框架
    • doi - Go中的文档对象标识符(doi)解析器。
    • editorconfig-core-go - Go的Editorconfig文件解析器和操作器。
    • enca - libenca的最小cgo绑定。
    • genex - 计算并将正则表达式扩展为所有匹配的字符串。
    • github_flavored_markdown - GitHub Flavored Markdown渲染器(使用blackfriday),带有围栏代码块高亮显示,可点击的标题锚链接。
    • go-fixedwidth - 固定宽度文本格式(带反射的编码器/解码器)。
    • go-humanize - 将时间,数字和内存大小格式化为人类可读格式。
    • go-nmea - Go语言的NMEA解析器库。
    • go-runewidth - 获取字符或字符串固定宽度的函数。
    • go-slugify - 使用多种语言支持制作相当的slug。
    • go-vcard - 解析并格式化vCard。
    • gofeed - 在Go中解析RSS和Atom提要。
    • gographviz - 解析Graphviz DOT语言。
    • gommon / bytes - 将字节格式化为字符串。
    • gonameparts - 将人名解析为个别名称部分。
    • goq - 使用带有jQuery语法的struct标签声明解组HTML(使用GoQuery)。
    • GoQuery - GoQuery为Go语言带来了类似于jQuery的语法和一组功能。
    • goregen - 用于从正则表达式生成随机字符串的库。
    • gotext - Go的GNU gettext实用程序。
    • guesslanguage - 确定unicode文本的自然语言的函数。
    • 注入 - 包注入提供基于反射的注射器。
    • mxj - 将XML编码/解码为JSON或map [string] interface {}; 使用点符号路径和通配符提取值。替换x2j和j2x包。
    • sh - Shell解析器和格式化程序。
    • slug - 具有多种语言支持的URL友好的slugify。
    • Slugify - Go slugify应用程序处理字符串。
    • toml - TOML配置格式(带反射的编码器/解码器)。
  • 效用
    • gotabulate - 使用Go轻松漂亮地打印表格数据。
    • kace - 涵盖常见初始主义的常见案例转换。
    • parseargs-go - 理解引号和反斜杠的字符串参数解析器。
    • parth - URL路径分段解析。
    • 基数 - 快速字符串排序算法。
    • xj2go - 将xml或json转换为struct。
    • xurls - 从文本中提取网址。

第三方API

用于访问第三方API的库。

  • amazon-product-advertising-api - 针对亚马逊产品广告API的客户端库。
  • anaconda - 用于Twitter 1.1 API的客户端库。
  • aws-sdk-go - Go编程语言的官方AWS开发工具包。
  • brewerydb - 用于访问BreweryDB API的Go库。
  • cachet - 转到Cachet的客户端库(开源状态页面系统)。
  • circleci - Go客户端库,用于与CircleCI的API交互。
  • clarifai - Go客户端库,用于与Clarifai API连接。
  • codeship-go - Go客户端库,用于与Codeship的API v2交互。
  • discordgo - 为Discord Chat API提供绑定。
  • ethrpc - 用于以太坊JSON RPC API的绑定。
  • facebook - Go Library支持Facebook Graph API。
  • fcm - 用于Firebase云消息传递的库。
  • gads - Google Adwords非官方API。
  • gami - 用于Asterisk Manager Interface的Go库。
  • gcm - Go for Google Cloud Messaging。
  • geo-golang - Go Library可访问Google Maps,MapQuest,Nominatim,OpenCage,HERE,Bing,Mapbox和OpenStreetMap地理编码/反向地理编码API。
  • github - Go库,用于访问GitHub REST API v3。
  • githubql - 用于访问GitHub GraphQL API v4的库。
  • go-chronos - Go库,用于与Chronos Job Scheduler 进行交互
  • go-hacknews - HackerNews API的Tiny Go客户端。
  • 去-imgur -转客户端库imgur
  • go-jira - 去Atlassian JIRA的客户端库
  • go-marathon - 去图书馆与Mesosphere的Marathon PAAS互动。
  • go-myanimelist - 转到客户端库以访问MyAnimeList API。
  • go-sptrans - 转到SPTrans Olho Vivo API的客户端库。
  • go-telegraph - 电报发布平台API客户端。
  • go-tgbot - Pure Golang Telegram Bot API包装器,由swagger文件,基于会话的路由器和中间件生成。
  • go-trending - Go库,用于访问Github上的趋势存储库和开发人员。
  • go-twitch - Go客户端与Twitch v3 API进行交互。
  • go-twitter - 转到Twitter v1.1 API的客户端库。
  • go-unsplash - 转到Unsplash.com API的客户端库。
  • go-xkcd - 转到xkcd API的客户端。
  • goamz -热门叉goamz它增加了一些缺失的API调用某些包。
  • golyrics - Golyrics是一个Go库,用于从Wikia网站获取音乐歌词数据。
  • GoMusicBrainz - Go MusicBrainz WS2客户端库。
  • 谷歌 - 为Go自动生成的Google API。
  • google-analytics - 简单的包装,便于谷歌分析报告。
  • google-cloud - Google Cloud API Go Client Library。
  • google-email-audit-api - 转到Google G Suite电子邮件审核API的客户端库。
  • gostorm - GoStorm是一个Go库,它实现了编写Storm spouts和Go中的Bolts所需的通信协议,与Storm shell进行通信。
  • govkbot - Simple Go VK bot库。
  • hipchat - 该项目为Hipchat API实现了一个golang客户端库。
  • hipchat(xmpp) - 通过XMPP与HipChat通信的golang包。
  • igdb - 转到Internet Game Database API的客户端。
  • Medium - 适用于Medium的OAuth2 API的Golang SDK。
  • megos - 用于访问Apache Mesos集群的客户端库。
  • micha - Go Library for Telegram bot api。
  • minio-go - 适用于Amazon S3兼容云存储的Minio Go Library。
  • mixpanel - Mixpanel是一个库,用于跟踪事件并从您的应用程序向Mixpanel发送Mixpanel配置文件更新。
  • patreon-go - 用于Patreon API的Go库。
  • paypal - PayPal支付API的包装。
  • playlyfe - Playlyfe Rest API Go SDK。
  • pushover - 用于Pushover API的包装器。
  • rrdaclient - Go Library访问statdns.com API,后者又是RRDA API。HTTP上的DNS查询。
  • shopify - Go Library向Shopify API发出CRUD请求。
  • 松弛 - Go中的Slack API。
  • smite - Go包以包含对Smite游戏API的访问。
  • spotify - Go Library访问Spotify WEB API。
  • steam - Go Library与Steam游戏服务器进行交互。
  • stripe - 转到Stripe API的客户端。
  • tbot - 具有类似于net / http的API的Telegram bot服务器。
  • telebot - 用Go编写的Telegram bot框架。
  • telegram-bot-api - 简单而干净的Telegram bot客户端。
  • textbelt - 转到textbelt.com txt消息传递API的客户端。
  • TheMovieDb - 简单的golang包与themoviedb.org进行通信。
  • 翻译 - 转到在线翻译包。
  • Trello - 用于Trello API的包装器。
  • tumblr - 用于Tumblr v2 API的包装器。
  • webhooks - 用于GitHub和Bitbucket的Webhook接收器。
  • zooz - 转到Zooz API的客户端。

公用事业

一般实用工具和工具,让您的生活更轻松。

  • abutil - 经常使用的Golang助手的集合。
  • apm - 使用HTTP API的Golang应用程序的进程管理器。
  • backscanner - 类似于bufio.Scanner的扫描程序,但它以相反的顺序读取和返回行,从给定位置开始并向后移动。
  • boilr - 用于从样板模板创建项目的超快CLI工具。
  • chyle - 使用具有多种配置可能性的git存储库的Changelog生成器。
  • circuit - 一种高效且功能齐全的Hystrix,就像断路器模式的Go实现一样。
  • 断路器 -断路器在Go。
  • clockwerk - 使用简单流畅的语法来打包以安排定期作业。
  • command - 带线程安全串行和并行调度程序的Go的命令模式。
  • coop - Go中一些常见并发流的备忘单。
  • copy-pasta - 通用多工作站剪贴板,使用S3作为后端进行存储。
  • ctop - 容器指标的类似顶部的界面(例如htop)。
  • 死亡 - 通过信号管理应用程序关闭。
  • Deepcopier - Go的简单结构复制。
  • 钻研 - 去调试器。
  • dlog - 编译时控制的记录器,可在不删除调试调用的情况下缩小版本。
  • ergo - 简化了在不同端口上运行的多个本地服务的管理。
  • 评估者 - 基于s表达式动态评估表达式。它简单易用。
  • excelize - 用于读取和编写Microsoft Excel™(XLSX)文件的Golang库。
  • fastlz - 为GoLang包装FastLz(免费,开源,便携式实时压缩库)。
  • filetype - 用于推断检查幻数签名的文件类型的小包。
  • 填充 - 使用“填充”标记填充结构的小实用程序。
  • fzf - 用Go编写的命令行模糊查找器。
  • generate - 运行在指定的路径或环境变量上递归生成,并可以通过正则表达式进行过滤。
  • 绅士 - 全功能的插件驱动的HTTP客户端库。
  • git-time-metric - 简单,无缝,轻量级的Git时间跟踪。
  • GJSON - 使用一行代码获取JSON值。
  • go-astitodo - 在你的GO代码中解析TODO。
  • go-bind-plugin - go:生成用于包装由golang插件导出的符号的工具(仅限1.8)。
  • go-cron - 用于go的简单Cron库,可以在不同的时间间隔执行闭包或函数,从特定日期和时间的每秒一次到每年一次。主要用于Web应用程序和长时间运行的守护进程。
  • go-debug - Golang库和应用程序的条件调试日志记录。
  • 干 - 干(不要重复自己)Go包。
  • go-funk - Modern Go实用程序库,提供帮助程序(map,find,contains,filter,chunk,reverse,...)。
  • go-httpheader - 用于将结构编码到Header字段的库。
  • go-rate - Go的定时速率限制器。
  • go-respond - 用于处理常见HTTP JSON响应的Go包。
  • go-sitemap-generator - 用Go编写的XML Sitemap生成器。
  • go-torch - Go程序的随机火焰图分析器。
  • go-trigger - Go-lang全局事件触发器,使用id注册事件并从项目的任何位置触发事件。
  • go-underscore - 有用的Go功能集合实用程序的有用集合。
  • goback - 转到简单的指数退避包。
  • godaemon - 写守护进程的实用程序。
  • godropbox - 用于从Dropbox编写Go服务/应用程序的通用库。
  • gohper - 各种工具/模块有助于开发。
  • gojq - Golang中的 JSON查询。
  • gojson - 从示例JSON自动生成Go(golang)结构定义。
  • golarm - 带系统事件的火警。
  • golog - 简单轻便的CLI工具,可以跟踪您的任务。
  • gopencils - 小而简单的包,可以轻松使用REST API。
  • goplaceholder - 一个用于生成占位符图像的小golang lib。
  • goreleaser - 尽可能快速,轻松地发送Go二进制文件。
  • goreporter - Golang工具,可进行静态分析,单元测试,代码审查和生成代码质量报告。
  • goreq - Go语言的最小简单请求库。
  • goreq - 基于gorequest的增强型简化HTTP客户端。
  • gorequest - 简化的HTTP客户端,具有丰富的Go功能。
  • goseaweedfs - 具有几乎全部功能的SeaweedFS客户端库。
  • gotenv -负载环境变量的.env或任何io.Reader在Go。
  • goxlsxwriter - 用于编写XLSX(Microsoft Excel)文件的libxlsxwriter的 Golang绑定。
  • gpath - 用反射中的Go表达式简化访问结构字段的库。
  • grequests - 优雅而简单的net/http包装器,遵循Python的请求库。
  • gron - 使用简单的Go API定义基于时间的任务,Gron的调度程序将相应地运行它们。
  • htcat - 并行和流水线HTTP GET实用程序。
  • httpcontrol - 包httpcontrol允许围绕超时和重试进行HTTP传输级别控制。
  • hub - 包含git命令,具有与终端中的github交互的附加功能。
  • hystrix-go - 实现程序员定义的回退(即断路器)的Hystrix模式。
  • 不朽 - * nix跨平台(OS不可知)主管。
  • 内在 - 使用x86 SIMD而无需编写任何汇编代码。
  • JobRunner - 智能且功能强大的cron作业调度程序,内置作业排队和实时监控功能。
  • jsonapi-errors - 基于JSON API错误引用转到绑定。
  • jsonf - 用于突出显示格式和结构查询获取JSON的控制台工具。
  • jsongo - Fluent API,可以更轻松地创建Json对象。
  • jsonhal - Simple Go包使自定义结构编组为HAL兼容的JSON响应。
  • kazaam - 用于任意转换JSON文档的API。
  • lrserver - Go的LiveReload服务器。
  • mc - Minio Client提供了与Amazon S3兼容的云存储和文件系统一起使用的最少工具。
  • mergo - Helper在Golang合并结构和地图。用于配置默认值,避免凌乱的if语句。
  • minify - HTML,CSS,JS,XML,JSON和SVG文件格式的快速缩小器。
  • minquery - 支持高效分页的MongoDB / mgo.v2查询(游标继续列出我们中断的文档)。
  • mmake - 现代制作。
  • moldova - 基于输入模板生成随机数据的实用程序。
  • mp - 简单的cli电子邮件解析器。它目前需要stdin并输出JSON。
  • mssqlx - 数据库客户端库,任何主从属的代理,主主结构。轻量化和自动平衡。
  • multitick - 用于对齐代码的多路复用器。
  • myhttp - 使用超时支持发出HTTP GET请求的简单API。
  • netbug - 轻松远程分析您的服务。
  • ngrok - 对localhost的内省隧道。
  • okrun - 去运行错误压路机。
  • onecache - 支持多个后端存储的缓存库(Redis,Memcached,文件系统等)。
  • panicparse - 对类似的goroutines进行分组并着色堆栈转储。
  • peco - 简单的交互式过滤工具。
  • pester - 使用重试,退避和并发进行HTTP客户端调用。
  • pm - 使用HTTP API的进程(即goroutine)管理器。
  • profile - Go的简单性能分析支持包。
  • rclient - REST API的可读,灵活,易用的客户端。
  • 实现 - 使用文件监视器和实时重新加载构建系统。使用自定义路径运行,构建和查看文件更改。
  • 重复 - 实施不同的退避策略,可用于重试操作和心跳。
  • 请求 - 针对Humans™ 发送 HTTP请求。
  • rerate - 基于Redis的速率计数器和Go的速率限制器。
  • 重新运行 - 在源更改时重新编译并重新运行应用程序。
  • resty - 受Ruby rest-client启发的Go的简单HTTP和REST客户端。
  • 重试 - 基于上下文的功能机制,重复执行操作直到成功。
  • retry-go - 对于golang来说,重试变得简单易行。
  • 强大 - 运行弹性,捕获并重启恐慌。
  • rq - golang stdlib HTTP客户端的一个更好的接口。
  • 调度程序 - Cronjobs调度变得简单。
  • sling - 用于API客户端的HTTP请求构建器。
  • spinner - Go包可以轻松地为终端微调器提供选项。
  • sqlx - 在优秀的内置数据库/ sql包之上提供了一组扩展。
  • Storm - BoltDB简单而强大的工具包。
  • 结构 - 实现操作结构的简单函数。
  • 任务 - 简单的“制造”替代方案。
  • 工具箱 - 切片,地图,多图,结构,功能,数据转换实用程序。服务路由器,宏评估器,标记器。
  • ugo - ugo是一个切片工具箱,带有简洁的Go语法。
  • UNIS - Go中字符串实用程序的通用架构™。
  • usql - usql是SQL数据库的通用命令行界面。
  • util - 有用的实用程序函数的集合。(字符串,并发,操作,......)。
  • wuzz - 用于HTTP检查的交互式cli工具。
  • xferspdy - Xferspdy在golang中提供二进制diff和补丁库。
  • xlsx - 用于简化读取Go程序中最近版本的Microsoft Excel使用的XML格式的库。

验证

用于验证的库。

  • govalidator - 字符串,数字,切片和结构的验证器和消毒器。
  • govalidator - 使用简单的规则验证Golang请求数据。受到Laravel的请求验证的启发。
  • ozzo-validation - 支持使用通常的代码构造中指定的可配置和可扩展的验证规则来验证各种数据类型(结构,字符串,映射,切片等),而不是结构标记。
  • validate - 此包提供了为Go应用程序编写验证的框架。
  • 验证器 - 进行结构和场验证,包括交叉场,交叉结构,地图,切片和阵列潜水。

版本控制

用于版本控制的库。

  • gh - GitHub Webhooks的可编写脚本的服务器和net / http中间件。
  • git2go - 为libgit2绑定绑定。
  • go-vcs - 在Go中操作和检查VCS存储库。
  • hgo - Hgo是Go包的集合,提供对本地Mercurial存储库的读访问。

视频

用于操纵视频的库。

  • gmf - 为FFmpeg av *库绑定绑定。
  • go-astisub - 操纵GO中的字幕(.srt,.stl,.ttml,.webvtt,.ssa / .ass,teletext,.smi等)。
  • go-astits - 在GO中本地解析和解复用MPEG传输流(.ts)。
  • goav - FFmpeg的Comphrensive Go绑定。
  • gst - GStreamer的绑定。
  • libgosubs - go的字幕格式支持。支持.srt,.ttml和.ass。
  • v4l - 用Go编写的Linux视频捕获库。



作者:承诺一时的华丽
链接:https://www.jianshu.com/p/b2e1498d3b97
來源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

你可能感兴趣的:(go)