Web框架
完整的堆栈web框架。
- aah - Go的可扩展,高性能,快速开发的Web框架。
- Air - Go的理想RESTful Web框架。
- Banjo - 非常简单快速的Go框架。
- Beego - beego是Go编程语言的开源,高性能Web框架。
- 布法罗 - 带来Rails的生产力!
- Echo - 高性能,极简主义的Go Web框架。
- 火球 - 更“自然”的感觉网络框架。
- Florest - 基于REST API的高性能工作流框架。
- Gem - 简单快速的Web框架,对REST API友好。
- Gin - Gin是一个用Go编写的Web框架!它具有类似马提尼的API,具有更好的性能,速度提高了40倍。如果您需要性能和良好的生产力。
- Gizmo - 纽约时报使用的微服务工具包。
- go-json-rest - 设置RESTful JSON API的快捷方法。
- go-relax - 用于构建RESTful API的可插入组件的框架。
- go-rest - Go的小而邪恶的REST框架。
- goa - 基于Ruby的Praxis设计开发微服务的框架。
- Goat - Go中的Minimalistic REST API服务器。
- Golf - Golf是一款快速,简单,轻量级的微型Web框架。它具有强大的功能,除了Go标准库之外没有其他依赖项。
- 贡多拉 - 用于更快地编写更快网站的Web框架。
- gongular - 具有输入映射/验证和(DI)依赖注入的Fast Go Web框架。
- Macaron - Macaron是Go中一个高效的模块化设计Web框架。
- mango - Mango是Go的模块化Web应用程序框架,受Rack和PEP333的启发。
- 微服务 -为创建微服务的,写在Golang框架。
- neo - Neo是简单快速的Go Web Framework,具有极其简单的API。
- Resoursea - 用于快速编写基于资源的服务的REST框架。
- REST层 - 在数据库之上构建REST / GraphQL API的框架,主要是代码配置。
- Revel - Go语言的高效Web框架。
-
rex - Rex是一个基于gorilla / mux的模块化开发库,完全兼容
net/http
。 - sawsij - 轻量级的开源Web框架,用于构建高性能,数据驱动的Web应用程序。
- tango - Go的微型和可插拔Web框架。
- tigertonic - 用于构建受Dropwizard启发的JSON Web服务的框架。
- 流量 --Sinatra为Go启发了regexp / pattern mux和web框架。
- utron - Go(Golang)的轻量级MVC框架。
- violetear - 去HTTP路由器。
- YARF - 快速微框架,旨在以快速简单的方式构建REST API和Web服务。
- Zerver - Zerver是一个富有表现力,模块化,功能完善的RESTful框架。
中间件
实际的中间件
- CORS - 轻松为您的API添加CORS功能。
- formjson - 透明地将JSON输入作为标准表单POST处理。
- 限制器 - Go的死简单速率限制中间件。
- 收费站 - 速率限制HTTP请求处理程序。
-
XFF - 处理
X-Forwarded-For
标题和朋友。
用于创建HTTP中间件的库
- alice - Go的无痛中间件链接。
- catena - http.Handler包装器连接(与“链”相同的API)。
- chain - 处理程序包装器与范围数据链接(基于网络/上下文的“中间件”)。
- go-wrap - 用于net / http的小型中间件包。
- gores - Go包处理HTML,JSON,XML等响应。对RESTful API很有用。
- interpose - golang的极简主义网络/ http中间件。
- muxchain - 用于net / http的轻量级中间件。
- negroni - Golang的惯用HTTP中间件。
- render - Go包,用于轻松呈现JSON,XML和HTML模板响应。
- 渲染器 - Go的简单,轻量级和快速响应(JSON,JSONP,XML,YAML,HTML,File)渲染包。
- 黑麦 - Tiny Go中间件库(带有固定中间件),支持JWT,CORS,Statsd和Go 1.7上下文。
- 统计信息 - 转到存储有关Web应用程序的各种信息的中间件。
- 易失性 - 极简中间件堆栈,提升灵活性,良好实践和清洁代码。
路由器
- 外星人 - 来自外太空的轻量级和快速的http路由器。
- Bone - Lightning Fast HTTP Multiplexer。
- Bxog - Go的简单快速HTTP路由器。它适用于不同难度,长度和嵌套的路线。他知道如何根据收到的参数创建一个URL。
- chi - 基于网络/上下文构建的小型,快速且富有表现力的HTTP路由器。
-
fasthttprouter - 来自的高性能路由器
httprouter
。第一个路由器适合fasthttp
。 - FastRouter - 用Go编写的快速,灵活的HTTP路由器。
- gocraft / web - Go中的Mux和中间件包。
-
Goji - Goji是一个简约灵活的HTTP请求多路复用器,支持
net/context
。 -
GoRouter - GoRouter是一个服务器/ API微型框架,HTTP请求路由器,多路复用器,多路复用器,为请求路由器提供中间件支持
net/context
。 - gowww / router - Lightning fast HTTP路由器与net / http.Handler接口完全兼容。
- httprouter - 高性能路由器。使用它和标准的http处理程序来形成一个非常高性能的Web框架。
- httptreemux - Go的高速,灵活的基于树的HTTP路由器。来自httprouter的灵感。
- lars - 用于Go的轻量级,快速且可扩展的零分配HTTP路由器,用于创建可自定义的框架。
- medeina - Medeina是一个基于HttpRouter的HTTP路由树,灵感来自Roda和古巴。
- mux - golang强大的URL路由器和调度程序。
- ozzo-routing - 一种极速的Go(golang)HTTP路由器,支持正则表达式路由匹配。全面支持构建RESTful API。
- 拍摄 - 由Sinatra的作者为Go的网络/ http库提供的Sinatra风格模式复用器。
- pure - 是一个轻量级HTTP路由器,坚持std“net / http”实现。
- Siesta - 用于编写中间件和处理程序的可组合框架。
- vestigo - 用于go web应用程序的高性能,独立,HTTP兼容的URL路由器。
-
XMUX -基于高性能复用器
httprouter
与net/context
支持。 - zeus - Go的非常简单和快速的HTTP路由器。
视窗
XML
用于操作XML的库和工具。
- XML-Comp - 简单的命令行XML比较器,用于生成文件夹,文件和标记的差异。
- xmlwriter - 基于libxml2的xmlwriter模块的过程XML生成API。
- xpath - Go的XPath包。
- xquery - XQuery允许您使用XPath表达式从HTML / XML文档中提取数据。
工具
去软件和插件。
代码分析
- apicompat - 检查Go项目的最新更改,以了解向后不兼容的更改。
- dupl - 用于代码克隆检测的工具。
- errcheck - Errcheck是一个用于检查Go程序中未经检查的错误的程序。
- gcvis - 实时可视化Go程序GC跟踪数据。
- Go Metalinter - Metalinter是一种自动应用所有静态分析工具并以标准化形式报告其输出的工具。
- go-checkstyle - checkstyle是一种样式检查工具,如java checkstyle。这个工具的灵感来自java checkstyle,golint。这种风格涉及Go Code Review Comments中的一些要点。
- go-cleanarch - go-cleanarch用于验证Clean Architecture规则,例如Dependency Rule以及Go项目中包之间的交互。
- go-outdated - 显示过期软件包的控制台应用程序。
- goast-viewer - 基于Web的Golang AST可视化工具。
- GoCover.io - GoCover.io提供任何golang包作为服务的代码覆盖率。
- goimports - 自动修复(添加,删除)Go导入的工具。
- GoLint - Golint是Go源代码的linter。
- Golint online - 在线提示使用golint包在GitHub,Bitbucket和Google Project Hosting上获取源文件。
- goreturns - 添加零值返回语句以匹配func返回类型。
- gosimple - gosimple是Go源代码的一个linter,专门用于简化代码。
- gostatus - 命令行工具,显示包含Go包的存储库的状态。
- interfacer - 建议接口类型的Linter。
- lint - 作为go测试的一部分运行linters。
-
staticcheck - staticcheck是
go vet
关于类固醇的,应用了大量的静态分析检查,你可能会习惯使用ReSharper等C#工具。 - tarp -tarp在Go源代码中找不到直接单元测试的函数和方法。
- 不转换 - 从Go源中删除不必要的类型转换。
- 未使用 - 未使用的检查转到未使用的常量,变量,函数和类型的代码。
- validate - 使用标记自动验证结构字段。
编辑插件
- Go插件用于JetBrains IDE - Go插件用于JetBrains IDE。
- go-language-server - 将VSCode转换扩展为支持语言服务器协议的语言服务器的包装器。
- go-mode - GNU / Emacs的Go模式。
- go-plus - 用于Atom的Go(Golang)包,用于添加自动完成,格式化,语法检查,Linting和Vetting。
- Goclipse - Go的Eclipse插件。
- gocode - Go编程语言的自动完成守护程序。
- GoSublime - 文本编辑器SublimeText 3的Golang插件集合,提供代码完成和其他类似IDE的功能。
- theia-go-extension - 为Theia IDE提供语言支持。
- velor - 极端编辑器的IRC客户端。
- vim-compiler-go - 用于在保存时突出显示语法错误的Vim插件。
- vim-go - 针对Vim的Go开发插件。
- vscode-go - Visual Studio Code(VS Code)的扩展,它提供对Go语言的支持。
- 观察 - 在文件更改的极致胜利中运行命令。
去生成工具
- 通用 - Go的灵活数据类型。
- genny - Go的优雅仿制药。
- gonerics - Go中的惯用语泛型。
- gotests - 从源代码生成Go测试。
- re2dfa - 将正则表达式转换为有限状态机并输出Go源代码。
去工具
-
colorgo -
go
用于彩色go build
输出的命令包装器。 - depth - 通过分析导入来可视化任何包的依赖关系树。
- gb - 一种易于使用的基于项目的Go编程语言构建工具。
- generator-go-lang - 一个Yeoman发电机,用于启动新的Go项目。
- go-callvis - 使用点格式可视化Go程序的调用图。
- go-pkg-complete - go和wgo的Bash完成。
- go-swagger - Swagger 2.0实现go。Swagger是RESTful API的简单而强大的代表。
- OctoLinker - 使用适用于GitHub的OctoLinker浏览器扩展,有效地浏览go文件。
-
richgo - 丰富的
go test
文字装饰输出。 - rts - RTS:对结构的响应。从服务器响应生成Go结构。
软件包
用Go编写的软件。
DevOps工具
- aptly - 恰好是Debian存储库管理工具。
- aurora - 跨平台的基于Web的Beanstalkd队列服务器控制台。
- awsenv - 为配置文件加载Amazon(AWS)环境变量的小二进制文件。
- Banshee - 周期性指标的异常检测系统。
- Blast - 用于API负载测试和批处理作业的简单工具。
- bombardier - 快速的跨平台HTTP基准测试工具。
- bosun - 时间序列警报框架。
- dogo - 监视源文件中的更改并自动编译和运行(重新启动)。
- drone-jenkins - 使用二进制,docker或Drone CI触发下游Jenkins作业。
- drone-scp - 使用二进制,docker或Drone CI通过SSH复制文件和工件。
- Dropship - 通过cdn部署代码的工具。
-
easyssh-proxy - Golang软件包,可通过SSH和SCP下载轻松实现远程执行
ProxyCommand
。 - Gitea - Gogs之叉,完全由社区驱动。
- Go Metrics - 转到Coda Hale的Metrics库的端口:https://github.com/codahale/metrics。
- go-selfupdate - 使您的Go应用程序能够自我更新。
- gobrew - gobrew让你轻松切换多个版本的go。
- godbg - 基于Web的gdb前端应用程序。
- Gogs - Go编程语言中的自托管Git服务。
- gonative - 创建Go构建的工具,可以交叉编译到所有平台,同时仍然使用支持Cgo的stdlib软件包版本。
- govvv - “go build”包装器,可以轻松地将版本信息添加到Go二进制文件中。
- gox - 死简单,没有多余的装饰去交叉编译工具。
- goxc - Go的构建工具,专注于交叉编译和打包。
- grape - 轻量级工具,旨在轻松地在ssh上分发命令。
- GVM - GVM提供管理Go版本的界面。
- 嘿 - 嘿是一个小程序,它向Web应用程序发送一些负载。
- kala - 简单,现代,高效的工作调度程序。
- kubernetes - 来自Google的Container Cluster Manager。
- manssh - manssh是一个命令行工具,可以轻松管理ssh别名配置。
- Moby - 集装箱生态系统的协作项目,用于组装基于容器的系统。
- Mora - 用于访问MongoDB文档和元数据的REST服务器。
- ostent - 收集并显示系统指标,并可选择中继到Graphite和/或InfluxDB。
- Packer - Packer是一种从单一来源配置为多个平台创建相同机器映像的工具。
- Pewpew - 灵活的HTTP命令行压力测试仪。
- Rodent - Rodent可帮助您管理Go版本,项目和跟踪依赖项。
- s3gof3r - 小型实用程序/库,针对大型对象进出Amazon S3的高速传输进行了优化。
- Scaleway-cli - 从命令行管理BareMetal服务器(与Docker一样容易)。
- sg - 对一组HTTP端点(如ab)进行基准测试,可以根据其先前的响应,在每次调用之间使用响应代码和数据以获取特定的服务器压力。
- skm - SKM是一个简单而强大的SSH密钥管理器,它可以帮助您轻松管理多个SSH密钥!
- StatusOK - 监控您的网站和REST API。当您的服务器关闭或响应时间超过预期时,通过Slack,电子邮件通知。
- traefik - 反向代理和负载均衡器,支持多个后端。
- Vegeta - HTTP负载测试工具和库。超过9000!
- webhook - 允许用户创建在服务器上执行命令的HTTP端点(挂钩)的工具。
- 基于Web的广泛 IDE,适用于使用Golang的团队。
- winrm-cli - 用于在Windows机器上远程执行命令的Cli工具。
其他软件
- borg - 基于终端的bash片段搜索引擎。
- 盒装 - 基于Dropbox的博客引擎。
- Cherry - Go中的微型网络聊天服务器。
- 电路 - 电路是一种可编程平台即服务(PaaS)和/或基础设施即服务(IaaS),用于管理,发现,同步和协调包含云应用的服务和主机。
- Comcast - 模拟糟糕的网络连接。
- confd - 使用来自etcd或consul的模板和数据管理本地应用程序配置文件。
- DDNS - 具有数字海洋网络DNS作为后端的个人DDNS客户端。
- Docker - 面向开发人员和系统管理员的分布式应用程序的开放平台。
- Documize - 现代wiki软件,集成了SaaS工具的数据。
- fleet - 分布式init系统。
- Go Package Store - 显示GOPATH中Go包的更新的应用程序。
- gocc - Gocc是Go编写的Go编译器工具包。
- GoDNS - 动态DNS客户端工具,支持用Go编写的DNSPod和HE.net。
- GoDocTooltip - Go Doc网站的Chrome扩展程序,在功能列表中将功能说明显示为工具提示。
- GoLand - 全功能的跨平台Go IDE。
- Gor -Http流量复制工具,用于实时重放从生产到阶段/开发环境的流量。
- hugo - 快速和现代静态网站引擎。
- ide - 浏览器可访问的IDE。专为Go with Go设计。
- ipe - 与GO编写的Pusher客户端库兼容的开源Pusher服务器实现。
- JayDiff - 用Go编写的JSON diff实用程序。
- Juju - 与云无关的服务部署和编排 - 支持EC2,Azure,Openstack,MAAS等。
- Leaps - 使用Operational Transforms对编程服务。
- limetext - Lime Text是一个强大而优雅的文本编辑器,主要在Go中开发,旨在成为Sublime Text的免费开源软件继承者。
- LiteIDE - LiteIDE是一个简单的开源跨平台Go IDE。
- mockingjay - 来自一个配置文件的假HTTP服务器和消费者驱动的合同。您还可以使服务器随机出现异常,以帮助进行更实际的性能测试。
- myLG - 用Go编写的命令行网络诊断工具。
- naclpipe - 用Go编写的简单的基于NaCL EC25519的加密管道工具。
- nes - 用Go编写的任天堂娱乐系统(NES)模拟器。
- orange-cat - 用Go编写的Markdown预览器。
- Orbit - 用于运行命令和从模板生成文件的简单工具。
- peg - Peg,Parsing Expression Grammar,是Packrat解析器生成器的一个实现。
- Postman - 用于批量发送电子邮件的命令行实用程序。
- restic - 重复删除备份程序。
- rkt - 与init系统集成的App Container运行时,与Docker等其他容器格式兼容,并支持KVM等替代执行引擎。
- 海藻文件系统 - 具有O(1)磁盘搜索功能的快速,简单和可扩展的分布式文件系统。
- shell2http - 通过http服务器执行shell命令(用于原型设计或远程控制)。
- snap - 功能强大的遥测框架。
- Snitch - 当有人通过Tsuru部署任何应用程序时,通知您的团队和许多工具的简单方法。
- Stack Up - Stack Up,一个超级简单的部署工具 - 就是Unix--把它想象成服务器网络的'make'。
- syncthing - 开放,分散的文件同步工具和协议。
- Tenyks - 使用Redis和JSON进行消息传递的面向服务的IRC bot。
- toto - 用Go语言编写的简单代理服务器,可以与浏览器一起使用。
- toxiproxy - 用于模拟自动测试的网络和系统条件的代理。
- tsuru - 可扩展和开源的平台即服务软件。
- vFlow - 高性能,可扩展且可靠的IPFIX,sFlow和Netflow收集器。
- websysd - 基于Web的流程管理器(如Marathon或Upstart)。
- 惠灵顿 - Sass项目管理工具,使用精灵功能扩展语言(如Compass)。
资源
在哪里发现新的Go库。
基准
- autobench - 用于比较不同Go版本之间性能的框架。
- go-benchmark-app - 强大的HTTP基准测试工具,混合了Аb,Wrk,Siege工具。收集基准和比较结果的统计数据和各种参数。
- go-benchmarkmarks - 很少杂项Go microbenchmarks。将一些语言特征与替代方法进行比较
- go-http-routing-benchmark - 转发HTTP请求路由器基准和比较。
- go-type-assertion-benchmark - 在Go中用两种方式做类型断言的朴素性能测试。
- go-web-framework-benchmark - 进行Web框架基准测试。
- go_serialization_benchmarks - Go序列化方法的基准。
- gocostmodel - Go语言常见基本操作的基准。
- golang-micro-benchmarkmarks - Go微基准测试的微小集合。目的是将一些语言特征与其他语言特征进行比较。
- golang-sql-benchmark - 流行的Go数据库/ SQL实用程序的基准集合。
- gospeed - 用于计算语言结构速度的微基准测试。
- kvbench - 键/值数据库基准。
- skynet - Skynet 1M线程microbenchmark。
- speedtest-resize - 比较Go语言的各种Image resize算法。
会议
- Capital Go - 华盛顿特区,美国
- dotGo - 法国巴黎
- GoCon - 日本东京
- GolangUK - 英国伦敦
- GopherChina - 中国上海
- GopherCon - 美国丹佛
- GopherCon Brazil - 弗洛里亚诺波利斯,BR
- GopherCon Dubai - 阿联酋迪拜
- GopherCon欧洲 - 冰岛雷克雅未克
- GopherCon India - 印度浦那
- GopherCon新加坡 - 丰树商业城,新加坡
- GothamGo - 美国纽约市
电子书
- Go开发者的笔记本
- Go中的编程简介
- 使用Golang构建Web应用程序
- 使用Go构建Web应用程序
- 去训练营
- GoBooks - Go书籍的精选列表。
- 学习去吧
- Go的网络编程
- Go编程语言
- 使用反教科书的Web应用程序
地鼠
- Go-gopher-Vector - Go gopher Vector Data [.ai,.svg]
- gopher-logos - 可爱的gopher标志
- 鼠贴纸
- 鼠矢量
- gophericons
- gopherize.me - Gopherize你自己
- gophers - Ashley McNamara的Gopher艺术品
- 地鼠 - 免费地鼠
- gophers - 随机gopher图形
聚会
- 去纽约语言
- 去伦敦用户组
- 去多伦多
- 去亚特兰大用户组
- GoBridge,旧金山,加利福尼亚州
- GoJakarta
- Golang Amsterdam
- Golang Argentina
- Golang班加罗尔
- Golang Belo Horizonte - 巴西
- Golang Boston
- Golang DC,阿灵顿,弗吉尼亚州
- Golang以色列
- Golang Joinville - 巴西
- Golang Lima - 秘鲁
- Golang Lyon
- Golang墨尔本
- Golang山景
- Golang纽约
- Golang巴黎
- Golang Pune
- Golang新加坡
- Golang Stockholm
- GolangSãoPaulo - 巴西
- Golang温哥华,BC
- GolangМосква
- GolangПитер
- 伊斯坦布尔Golang
- 西雅图Go程序员
- 乌克兰Golang用户组
- 犹他州用户组
- 去的女人 - 旧金山,加利福尼亚州
在这里添加您所在城市/国家/地区的群组(发送PR)
推特
网站
- 很棒的Go @LibHunt - 你的Go-to Go工具箱。
- 令人敬畏的远程工作 - 精彩的远程工作列表。他们中的很多人都在寻找黑客。
- awesome-awesomeness - 其他非常棒的列表。
- Flipboard - Go Magazine - Go文章和教程的集合。
- 去博客 - Go官方博客。
- 挑战 - 通过解决问题并获得Go专家的反馈来学习Go。
- 去论坛 - 论坛讨论Go。
- 进入5分钟 - 5分钟的截屏视频集中在完成一件事。
- Go Projects - Go社区维基上的项目列表。
- 去报告卡 - Go包的成绩单。
- gocryforhelp - 需要帮助的Go项目集合。在Go开始你的开源方式的好地方。
- godoc.org - 开源Go包的文档。
- Golang Flow - 发布更新,新闻,包等。
- Golang新闻 - 关于Go编程的链接和新闻。
- golang-graphics - Go图像,图形和艺术的集合。
- golang-nuts - 去邮件列表。
- Google Plus社区 - #golang爱好者的Google+社区。
- Gopher社区聊天 - 加入我们新的Slack社区为Gophers(了解它是如何来的)。
- gowalker.org - Go Project API文档。
- justforfunc - 由Francesc Campoy @francesc主持的Youtube频道致力于Go编程语言提示和技巧。
- r / Golang - 有关Go的新闻。
- 今天在GitHub上趋势Go存储库 - 找到新Go库的好地方。
教程
- 围棋之旅 - Go的互动之旅。
- 使用Golang构建Web应用程序 - Golang电子书介绍如何使用golang构建Web应用程序。
- 使用Gin构建Go Web应用程序和微服务 - 熟悉Gin并了解它如何帮助您减少样板代码并构建请求处理管道。
- Go with Go - 视频系列教学编程和游戏开发。
- Go By Example - 使用带注释的示例程序对Go进行实际操作。
- Go Cheat Sheet - Go的参考卡片。
- 去数据库/ sql教程 - 数据库/ sql简介。
- Golang教程 - 学习go go编程社区提交和投票的最佳在线golang教程。
- Golangbot - 开始使用Go编程的教程。
- 如何在Go中使用Godog进行行为驱动开发 - 开始使用Godog - 一个行为驱动的开发框架,用于构建和测试Go应用程序。
- 与Go - Intro合作,为有经验的程序员工作。