2018最新精选的Go框架,库和软件的精选列表 二 https:
2018-09-30 本文已影响58人
承诺一时的华丽
地理
地理工具和服务器
- geocache - 适用于基于地理定位的应用程序的内存缓存。
- pbf - OpenStreetMap PBF golang编码器/解码器。
- S2几何 - Go中的S2几何库。
- Tile38 - 具有空间索引和实时地理围栏的地理位置数据库。
去编译器
编译工具转到其他语言。
- gopherjs - 转到JavaScript的编译器。
- llgo - Go的基于LLVM的编译器。
- tardisgo - Golang to Haxe转CPP / CSharp / Java / JavaScript转发器。
够程
管理和使用Goroutines的工具。
- cyclicbarrier - 用于golang的CyclicBarrier。
- go-floc - 轻松协调goroutines。
- go-flow - 控制goroutines执行顺序。
- GoSlaves - 简单和异步Goroutine池库。
- goworker - goworker是一名Go-based后台工作者。
- grpool - 轻量级Goroutine游泳池。
- parallel-fn - 并行运行函数。
- 游泳池 - 有限的消费者goroutine或无限的goroutine游泳池,更容易goroutine处理和取消。
- 信号量 - 基于通道和上下文的锁定/解锁操作超时的信号量模式实现。
- 信号量 - 基于CAS的快速可调整大小的信号量实现(比基于通道的信号量实现更快)。
- 金枪鱼 -够程池golang。
- worker-pool - goworker是一个Go简单的异步工作池。
- workerpool - 限制任务执行并发性的Goroutine池,而不是排队的任务数。
GUI
用于构建GUI应用程序的库。
工具包
- app - 使用GO,HTML和CSS创建应用程序的包。支持:MacOS,Windows正在进行中。
- go-astilectron - 使用GO和HTML / JS / CSS构建跨平台GUI应用程序(由Electron提供支持)。
- go-gtk - 为GTK绑定绑定。
- go-qml - 对Go语言的QML支持。
- go-sciter - Sciter的绑定:用于现代桌面UI开发的Embeddable HTML / CSS /脚本引擎。跨平台。
- goqt - Golang绑定到Qt跨平台应用程序框架。
- gotk3 - Go绑定GTK3。
- gowd - 使用GO,HTML,CSS和NW.js进行快速简单的桌面UI开发。跨平台。
- qt - Go的Qt绑定(支持Windows / macOS / Linux / Android / iOS / Sailfish OS / Raspberry Pi)。
- ui - Go的平台原生GUI库。跨平台。
- walk - 适用于Go的Windows应用程序库工具包。
- webview - 具有简单双向JavaScript绑定的跨平台webview窗口(Windows / macOS / Linux)。
相互作用
- gosx-notifier - Go的OSX桌面通知库。
- robotgo - Go Native跨平台GUI系统自动化。控制鼠标,键盘等。
- systray - 跨平台Go库在通知区域中放置图标和菜单。
- trayhost - 跨平台Go库,在主机操作系统的任务栏中放置一个图标。
硬件
用于与硬件交互的库,工具和教程。
有关完整列表,请参阅go-hardware。
图片
用于处理图像的库。
- bild - 纯Go中图像处理算法的集合。
- bimg - 使用libvips进行快速高效图像处理的小包。
- geopattern - 从字符串创建美丽的生成图像模式。
- gg - 纯Go中的2D渲染。
- gift - 图像处理过滤器包。
- go-cairo - 转到cairo图形库的绑定。
- go-gd - 对GD库进行绑定。
- go-nude - 使用Go进行裸体检测。
- go-opencv - 转到OpenCV的绑定。
- go-webcolors - 从Python到Go的webcolors库的端口。
- gocv - 使用OpenCV 3.3+获取计算机视觉包。
- govatar - 用于生成有趣头像的库和CMD工具。
- 想象力 - 绑定到ImageMagick的MagickWand C API。
- imaginary - 用于图像大小调整的快速简单的HTTP微服务。
- 成像 - 简单Go图像处理包。
- img - 选择图像处理工具。
- ln - Go中的3D线条艺术渲染。
- mpo - MPO 3D照片的解码器和转换工具。
- picfit - 用Go编写的图像大小调整服务器。
- pt - 用Go编写的路径跟踪引擎。
- 调整大小 - 使用常见插值方法调整Go的图像大小。
- rez - 纯Go和SIMD中的图像大小调整。
- smartcrop - 为任意图像和裁剪尺寸找到好作物。
- svgo - 用于SVG生成的Go语言库。
- tga - 包tga是TARGA图像格式解码器/编码器。
物联网(物联网)
用于物联网编程设备的库。
- connectordb - 量化自我和物联网的开源平台。
- 设备 - 物联网设备库套件,x / exp / io实验。
- eywa - Project Eywa本质上是一个连接管理器,可以跟踪连接的设备。
- flogo - Project Flogo是物联网边缘应用和集成的开源框架。
- GATT -盖特是一个围棋包构建低功耗蓝牙外设。
- gobot - Gobot是机器人,物理计算和物联网的框架。
- mainflux - 工业物联网消息和设备管理服务器。
- periph - 用于与低级电路板设备连接的外围设备I / O.
- sensorbee - 物联网的轻量级流处理引擎。
记录
用于生成和使用日志文件的库。
- distillog - 蒸馏水平测井(将其视为stdlib + log水平)。
- glg - glg是Go的简单快速级别的日志库。
- glog - Go的执行日志。
- go-cronowriter - 简单的编写器,可根据当前日期和时间自动轮换日志文件,如cronolog。
- go-log - Log lib支持级别和多个处理程序。
- go-log - Go中的Log4j实现。
- go-logger - Go程序的简单记录器,带有级别处理程序。
- gologger - 简单易用的log lib for go,登录Colored Console,Simple Console,File或Elasticsearch。
- gomol - 具有可扩展日志记录输出的Go的多输出结构化日志记录。
- gone / log - 快速,可扩展,功能齐全,std-lib源兼容的日志库。
- journald - 执行systemd Journal的日志API以进行日志记录。
- log - Go的结构化日志包。
- log - Go的简单,可配置和可扩展的结构化日志记录。
- log - Go的结构化日志界面干净地将日志记录外观与其实现分开。
- log-voyage - 用golang编写的全功能日志saas。
- log15 - Go的简单,强大的日志记录。
- logdump - 用于多级日志记录的包。
- logex - Golang log lib,支持跟踪和级别,由标准日志lib包装。
- logger - Go的简约日志记录库。
- logo - Golang logger到不同的可配置编写器。
- logrus - Go的结构化记录器。
- logrusly - 用于向Loggly发送错误的logrus插件。
- logutils - 用于在Go(Golang)中稍微更好地登录的工具,扩展标准记录器。
- logxi - 12因素应用程序记录器,速度快,让您开心。
- 伐木工人 - 简单的滚动记录器,实现io.WriteCloser。
- mlog - 用于go的简单日志记录模块,具有5个级别,可选的旋转日志文件功能和stdout / stderr输出。
- ozzo-log - 支持日志严重性,分类和过滤的高性能日志记录。可以将过滤后的日志消息发送到各种目标(例如控制台,网络,邮件)。
- seelog - 具有灵活调度,过滤和格式化的日志记录功能。
- spew - 为Go数据结构实现深度漂亮的打印机以帮助调试。
- stdlog - Stdlog是一个面向对象的库,提供分层日志记录。它对于cron作业非常有用。
- tail - Go包试图模仿BSD尾部程序的功能。
- xlog - Go的插件架构和灵活的日志系统,具有级别控制,多个日志目标和自定义日志格式。
-
xlog -
net/context
具有灵活分派的感知HTTP处理程序的结构化记录器。 - zap - Go中快速,结构化,水平的日志记录。
- zerolog - 零分配JSON记录器。
机器学习
机器学习库。
- 贝叶斯 - Golang的朴素贝叶斯分类。
- CloudForest - 用于纯Go中机器学习的快速,灵活,多线程的决策树集合。
- fonet - 用Go编写的深度神经网络库。
- gago - 多种群,灵活,并行遗传算法。
- go-cluster - 实现k-modes和k-prototypes聚类算法。
- go-fann - 快速人工神经网络(FANN)库的绑定。
- go-galib - 用Go / golang编写的遗传算法库。
- go-pr - Go lang中的模式识别包。
- gobrain - 用go编写的神经网络。
- godist - 各种概率分布和相关方法。
- goga - Go的遗传算法库。
- GoLearn - Go的通用机器学习库。
- golinear - Go的liblinear绑定。
- goml - Go中的在线机器学习。
- goRecommend - 用Go编写的推荐算法库。
- gorgonia - 基于图形的计算库,如Theano for Go,提供用于构建各种机器学习和神经网络算法的原语。
- goscore - 用于PMML的Go Scoring API。
- gosseract - 使用Tesseract C ++库获取OCR(光学字符识别)包。
- libsvm - 基于LIBSVM 3.14的libsvm golang版本派生工作。
- mlgo - 该项目旨在提供Go中的简约机器学习算法。
- neat - 即插即用,并行Go框架,用于增强拓扑(NEAT)的NeuroEvolution。
- neural-go - 在Go中实现的多层感知器网络,通过反向传播进行训练。
- probab - 概率分布函数。贝叶斯推断。写在纯粹的Go。
- regommend - 推荐和协作过滤引擎。
- shield - 贝叶斯文本分类器,带有灵活的标记器和Go的存储后端。
- tfgo - 易于使用的Tensorflow绑定:简化了官方Tensorflow Go绑定的使用。在Go中定义计算图,加载和执行用Python训练的模型。
- Varis - Golang神经网络。
消息
实现消息传递系统的库。
- Centrifugo - Go中的实时消息传递(Websockets或SockJS)服务器。
- dbus - D-Bus的Native Go绑定。
- 无人机线路 - 使用二进制,泊坞窗或无人机CI 发送线路通知。
- 发射器 - 使用Go方式发出事件,具有通配符,谓词,取消可能性和许多其他好的胜利。
- event - 模式观察者的实现。
- EventBus - 具有异步兼容性的轻量级事件总线。
- gaurun-client - 用Go编写的Gaurun客户端。
- 胶水 - 强大的Go和Javascript套接字库(Socket.io的替代品)。
- go-notify - freedesktop通知规范的本机实现。
- go-nsq - NSQ的官方Go包。
- go-socket.io - 用于golang的socket.io库,一个实时应用程序框架。
- go-vitotrol - 客户图书馆到Viessmann Vitotrol网络服务。
- Gollum - 一种n:m多路复用器,它从不同的源收集消息并将它们广播到一组目的地。
- golongpoll - HTTP longpoll服务器库,使web pub-sub变得简单。
- goose - Go中的服务器发送事件。
- gopush-cluster - gopush-cluster是一个推送服务器集群。
- gorush - 使用APNs2和Google GCM推送通知服务器。
- guble - 使用推送通知的消息服务器(Google Firebase云消息传递,Apple推送通知服务,SMS)以及websockets,一个REST API,具有分布式操作和消息持久性。
- 机器 - 基于分布式消息传递的异步任务队列/作业队列。
- mangos - 具有传输互操作性的Nanomsg(“可扩展协议”)的纯实现。
- 旋律 - 用于处理websocket会话的极简主义框架,包括广播和自动ping / pong处理。
- messagebus - messagebus是一个简单的异步消息总线,非常适合在进行事件采购,CQRS,DDD时用作事件总线。
- NATS Go Client - 轻量级和高性能的发布 - 订阅和分布式排队消息系统 - 这是Go库。
- nsq-event-bus - 围绕NSQ主题和通道的一个小包装器。
- oplog - REST API的通用oplog /复制系统。
- pubsub - 简单的pubsub包。
- rabbus - amqp交换和队列的一个小包装器。
- rabtap - RabbitMQ瑞士军刀cli应用程序。
- RapidMQ - RapidMQ是一个轻量级且可靠的库,用于管理本地消息队列。
- sarama - 去Apache Kafka的图书馆。
- Uniqush-Push - Redis支持统一推送服务,用于向移动设备发送服务器端通知。
- zmq4 - Go接口到ZeroMQ版本4.也适用于版本3和版本2。
杂
这些库被放在这里,因为其他类别似乎都不合适。
- alice - Golang的附加依赖注入容器。
- anagent - 具有依赖注入的简约,可插拔的Golang evloop / timer处理程序。
- antch - 一种快速,强大且可扩展的Web爬行和抓取框架。
- archiver - 用于制作和提取.zip和.tar.gz档案的库和命令。
- autoflags - Go包自动从结构字段定义命令行标志。
- avgRating - 根据Wilson Score Equation计算平均得分和评分。
- banner - 在Go应用程序中添加漂亮的横幅。
- base64Captcha - Base64captch支持数字,数字,字母,算术,音频和数字字母验证码。
- 电池 - 跨平台,标准化电池信息库。
- bitio - 针对Go的高度优化的位级读取器和写入器。
- browscap_go - GoLang图书馆浏览器功能项目。
- 验证码 - 验证码验证码为验证码生成提供了一个易于使用,不受影响的API。
- conv - Package conv提供跨Go类型的快速直观转换。
- datacounter - Go / reader for reader / writer / http.ResponseWriter。
- errors - 提供简单错误处理原语的包。
- go-chat-bot - 用Go编写的IRC,Slack&Telegram机器人。
- go-commons-pool - Golang的通用对象池。
- go-multierror - Go(golang)包,用于将错误列表表示为单个错误。
- go-openapi - 用于解析和利用open-api模式的包的集合。
- go-resiliency - golang的弹性模式。
- go-sarah - 为期望的聊天服务构建机器人的框架,包括LINE,Slack,Gitter等。
- go-unarr - 用于RAR,TAR,ZIP和7z档案的解压缩库。
- go.uuid - 通用唯一标识符(UUID)的实现。支持UUID的创建和解析。
- gofakeit - 用go编写的随机数据生成器。
- goid - 生成并解析符合RFC4122标准的V4 UUID。
- gopsutil - 用于检索进程和系统利用率的跨平台库(CPU,内存,磁盘等)。
- gosms - Go中您自己的本地SMS网关,可用于发送短信。
- gountries - 公开国家和细分数据的包。
- hanu - 写Slack机器人的框架。
- health - 易于使用,可扩展的健康检查库。
- healthcheck - RESTful服务的固定和并发健康检查HTTP处理程序。
- hostutils - 用于打包和解包FQDN列表的golang库。
- indigo - 使用Sonyflake并由Base58编码的分布式唯一ID生成器。
- jobs - 持久且灵活的后台作业库。
- lk - golang的简单许可库。
- margelet - 建立电报机器人的框架。
- 波斯语 - 波斯语中的一些实用程序。
- secdl - Lighttpd ModSecDownload算法移植到安全下载URL。
- shellwords - 一个Golang库,用于根据UNIX Bourne shell的单词解析规则操作字符串。
- shortid - 分布式生成超短,唯一,非顺序,URL友好ID。
- slacker - 易于使用的框架来创建Slack机器人。
- stats - Monitors Go MemStats +系统统计数据,如内存,交换和CPU,并通过UDP发送到任何你想要的日志记录等...
- 龟 - Emojis for Go。
- uuid - 使用快速或加密质量的随机节点标识符生成,编码和解码UUID v1。
- VarHandler - 生成样板http输入和输出处理。
- werr - Error Wrapper为Go中的错误类型创建一个包装器,它捕获文件,行和堆栈的调用位置。
- wuid - 一个极其快速的唯一数字生成器,比UUID快10-135倍。
- xkg - X键盘抓取器。
- xstrings - 从其他语言移植的有用字符串函数的集合。
自然语言处理
用于处理人类语言的图书馆。
- dpar - 基于转换的统计依赖解析器。
- go-eco - 相似度,相异度和距离矩阵; 多样性,公平性和不平等措施; 物种丰富度估算; coenocline模型。
- go-i18n - 用于处理本地化文本的软件包和附带工具。
- go-mystem - CGo绑定到Yandex.Mystem - 俄罗斯形态分析器。
- go-nlp - 用于处理离散概率分布的实用程序和用于执行NLP工作的其他工具。
- go-stem - 搬运工干扰算法的实现。
- go-unidecode - Unicode文本的ASCII音译。
- go2vec - word2vec嵌入的读者和实用程序函数。
- gojieba -这是一个围棋实施解霸其中中国分词算法。
- golibstemmer - 包括搬运工2的雪球libstemmer库的绑定。
- gounidecode - Go的Unicode音译器(也称为unidecode)。
- gse - 高效的文本分割; 支持英语,中文,日语等。
- icu - 用于icu4c C库检测和转换功能的Cgo绑定。保证与版本50.1的兼容性。
- libtextcat - 用于libtextcat C库的Cgo绑定。保证与2.2版兼容。
- MMSEGO - 这是MMSEG的GO实现,它是一种中文分词算法。
- nlp - 从字符串中提取值并使用nlp填充结构。
- nlp - 支持LSA(潜在语义分析)的Go Natural Language Processing库。
- paicehusk - Golang实现的Paice / Husk词干算法。
- 彼得罗维奇(Petrovich) - 彼得罗维奇(Petrovich)是一个图书馆,它根据语法情况调整俄语名称。
- porter - 这是一个相当简单的Port Porter C实现Porter词干算法的端口。
- porter2 - 真的很快Porter 2。
- 散文 - 用于文本处理的库,支持标记化,词性标记,命名实体提取等。
- RAKE.go - 快速自动关键字提取算法(RAKE)的Go端口。
- segment - Go库,用于执行Unicode标准附件#29中所述的Unicode文本分段
- 句子 - 句子标记器:将文本转换为句子列表。
- shamoji - shamoji是用Go编写的文字过滤包。
- 雪球 - Go的Snowball stemmer port(cgo wrapper)。提供词干提取功能Snowball原生。
- stemmer - 用于Go编程语言的Stemmer包。包括英语和德语词干分析器。
- textcat - Go包,用于基于n-gram的文本分类,支持utf-8和原始文本。
- whatlanggo - Go的自然语言检测包。支持84种语言和24种脚本(书写系统,如拉丁语,西里尔语等)。
- when - 具有可插拔规则的自然EN和RU语言日期/时间解析器。
联网
用于处理网络各层的库。
- arp - Package arp实现ARP协议,如RFC 826中所述。
- buffstreams - 通过TCP流式传输协议缓冲数据变得简单。
- canopus - CoAP客户端/服务器实现(RFC 7252)。
- cidranger - Go的CIDR快速IP查找。
- dhcp6 - 软件包dhcp6实现了一个DHCPv6服务器,如RFC 3315中所述。
- dns - 使用DNS来处理DNS。
- ether - 用于发送和接收以太网帧的跨平台Go包。
- ethernet - Package ethernet实现IEEE 802.3 Ethernet II帧和IEEE 802.1Q VLAN标记的编组和解组。
- fasthttp - 软件包fasthttp是Go的快速HTTP实现,比net / http快10倍。
- fortio - 加载测试库和命令行工具以及Web UI。允许指定设置的每秒查询负载和记录延迟直方图以及其他有用的统计信息并对其进行图形化。
- ftp - 软件包ftp实现了RFC 959中描述的FTP客户端。
- go-getter - 使用URL从各种来源下载文件或目录的库。
- go-stun - Go实现STUN客户端(RFC 3489和RFC 5389)。
- gobgp - 在Go编程语言中实现的BGP。
- golibwireshark - 包golibwireshark使用libwireshark库解码pcap文件并分析解剖数据。
- gopacket - 使用libpcap绑定进行数据包处理的库。
- gopcap - 用于libpcap的包装器。
- goshark - 包goshark使用tshark解码IP数据包并创建数据结构来分析数据包。
- gosnmp - 用于执行SNMP操作的Native Go库。
- gotcp - Go包,用于快速编写tcp应用程序。
- grab - 用于管理文件下载的Go包。
- graval - 实验性FTP服务器框架。
- jazigo - Jazigo是一个用Go编写的工具,用于检索多个网络设备的配置。
- kcp-go - KCP - 快速可靠的ARQ协议。
- kcptun - 基于KCP协议的极其简单快速的udp隧道。
- lhttp - 强大的websocket框架,更轻松地构建您的IM服务器。
- linkio - 读/写器接口的网络链接速度模拟。
- llb - 对于代理服务器来说,这是一个非常简单但快速的后端。可用于快速重定向到预定义域,内存分配为零,响应速度快。
- mdns - Golang中的简单mDNS(多播DNS)客户端/服务器库。
- mqttPaho - Paho Go Client提供了一个MQTT客户端库,用于通过TCP,TLS或WebSockets连接到MQTT代理。
- portproxy - 简单的TCP代理,它为不支持它的API添加CORS支持。
- publicip - Package publicip返回面向公众的IPv4地址(Internet出口)。
- raw - Package raw允许在设备驱动程序级别为网络接口读取和写入数据。
- sftp - 软件包sftp实现了SSH文件传输协议,如https://filezilla-project.org/specs/draft-ietf-secsh-filexfer-02.txt中所述。
- ssh - 用于构建SSH服务器的高级API(包装crypto / ssh)。
- sslb - 它是一个超级简单的负载均衡器,只是一个实现某种性能的小项目。
- stun - 执行RFC 5389 STUN协议。
- tcp_server - 用于更快地构建tcp服务器的库。
- utp - 去uTP微传输协议实现。
- water - 简单的TUN / TAP库。
- winrm - Go WinRM客户端在Windows机器上远程执行命令。
- xtcp - TCP Server Framework,具有同步全双工通信,正常关闭,自定义协议。
- YANNFF - 云和裸机的高性能网络功能快速开发框架。
OpenGL的
在Go中使用OpenGL的库。
- gl - Go Open绑定(通过发光生成)。
- glfw - 为GLFW 3绑定绑定。
- goxjs / gl - 转到跨平台的OpenGL绑定(OS X,Linux,Windows,浏览器,iOS,Android)。
- goxjs / glfw - 用于创建OpenGL上下文和接收事件的跨平台glfw库。
- mathgl - Pure Go数学软件包,专门用于3D数学,灵感来自GLM。
ORM
实现对象关系映射或数据映射技术的库。
- beego orm - 强大的orm框架。支持:pq / mysql / sqlite3。
- go-pg - PostgreSQL ORM,专注于PostgreSQL的特定功能和性能。
- go-queryset - 具有代码生成的100%类型安全ORM和基于GORM的MySQL,PostgreSQL,Sqlite3,SQL Server支持。
- go-sqlbuilder - 灵活而强大的SQL字符串构建器库以及零配置ORM。
- go-store - 简单快速的Redis支持Go的键值存储库。
- gomodel - 轻量级,快速,类似orm的库有助于与数据库交互。
- GORM - Golang的精彩ORM库,旨在让开发人员更加友好。
- gorp - Go关系持久性,Go的ORM-ish库。
- lore - Go的简单轻量级伪ORM /伪结构映射环境。
- Marlow - 从项目结构生成的ORM,用于编译时安全保证。
- pop / soda - 用于MySQL,PostgreSQL和SQLite的数据库迁移,创建,ORM等。
- QBS - 代表按结构查询。一个Go ORM。
- 改革 -对走得更好ORM的基础上,非空接口和代码生成。
- SQLBoiler - ORM生成器。生成针对您的数据库架构量身定制的功能强大且速度极快的ORM。
- upper.io/db - 单个接口,用于通过使用包装成熟数据库驱动程序的适配器与不同的数据源进行交互。
- Xorm - 简单而强大的ORM for Go。
- 缩放 - 基于Redis的快速数据存储和查询引擎。
包管理
用于包和依赖关系管理的库。
- dep - Go依赖工具。
- gigo - golang的 PIP依赖工具,支持私有存储库和哈希。
- 滑行 - 轻松管理您的golang供应商和销售包裹。灵感来自Maven,Bundler和Pip等工具。
- godep - go的依赖工具,godep通过修复它们的依赖关系来帮助重复构建包。
- gom - 去经理 - 捆绑去吧。
- goop - Go(Golang)的简单依赖管理器,受Bundler的启发。
- gop - 从GOPATH构建和管理你的Go应用程序
- gopm - Go Package Manager。
- govendor - Go Package Manager。使用与标准供应商文件一起使用的供应商工具。
- gpm - Go的Barebones依赖管理器。
-
gvt -
gvt
是一个简单的销售工具,用于基于gb-vendor的Go native vendoring(aka GO15VENDOREXPERIMENT)。 - johnny-deps - 使用Git的最小依赖版本。
- nut - Vendor Go依赖项。
- VenGO - 创建和管理可出口的隔离虚拟环境。
查询语言
- graphql - graphql解析器+实用程序。
- graphql - Go中的GraphQL实现。
- graphql - 专注于易用性的GraphQL服务器。
- graphql-go - Go的GraphQL实现。
- jsonql - Golang中的 JSON查询表达式库。
资源嵌入
- esc - 将文件嵌入到Go程序中,并为它们提供http.FileSystem接口。
- fileb0x - 嵌入文件的简单工具,专注于“自定义”,易于使用。
- go-embed - 生成go代码以将资源文件嵌入到库或可执行文件中。
- go-resources - 使用Go嵌入不合适的资源。
- go.rice - go.rice是一个Go包,可以很容易地处理html,js,css,图像和模板等资源。
- 静态 - 将静态资源嵌入到单个二进制编译的go文件中+使用http.FileSystem +符号链接。
- statik - 将静态文件嵌入Go可执行文件中。
- templify - 将外部模板文件嵌入到Go代码中以创建单个文件二进制文件。
- vfsgen - 生成静态实现给定虚拟文件系统的vfsdata.go文件。
科学与数据分析
用于科学计算和数据分析的图书馆。
- blas - BLAS(基本线性代数子程序)的实现。
- 图表 - Go的简单图表绘图库。支持许多图形类型。
- evaler - 简单浮点算术表达式求值程序。
- ewma - 指数加权移动平均线。
- geom - golang的2D几何体。
- go-dsp - Go的数字信号处理。
- go-fn - 用Go语言编写的数学函数,不包括在数学pkg中。
- go-gt - 用“Go”语言编写的图论算法。
- go.matrix - go的线性代数(已经停滞)。
- gocomplex - Go编程语言的复数库。
- Goent - GO实施熵测量
- gofrac - (goinstallable)分数库,用于支持基本算术。
- gohistogram - 数据流的近似直方图。
- gonum / mat64 - 矩阵计算的通用包。包mat64为float64矩阵提供基本的线性代数运算。
- gonum / plot - gonum / plot提供了一个用于在Go中构建和绘制图的API。
- goraph - Pure Go图论库(数据结构,算法可视化)。
- gosl - 用于线性代数,FFT,几何,NURBS,数值方法,概率,优化,微分方程等的科学库。
- gostat - go语言的统计库。
- graph - 基本图算法库。
- ode - 支持扩展状态和基于通道的迭代停止条件的常微分方程(ODE)求解器。
- pagerank - 在Go中实现的加权PageRank算法。
- PiHex - 用于十六进制数Pi的“Bailey-Borwein-Plouffe”算法的实现。
- 稀疏 - 用于线性代数的稀疏矩阵格式,支持科学和机器学习应用,与gonum矩阵库兼容。
- stats - Golang标准库中缺少常用功能的统计包。
- streamtools - 用于处理数据流的通用图形工具。
- vectormath - 适用于Go的Vectormath,改编自Sony的Vector Math库中的标量C函数,如Bullet-2.79源代码(目前无效)中所示。
安全
用于帮助您提高应用程序安全性的库。
- acmetool - ACME(Let's Encrypt)客户端工具,具有自动续订功能。
- autocert - 自动配置让我们加密证书并启动TLS服务器。
- BadActor - 以fail2ban的精神构建的内存中,应用程序驱动的jailer。
- go-yara - YARA的绑定,“用于恶意软件研究人员(以及其他所有人)的模式匹配瑞士刀”。
- goSecretBoxPassword - 一个可能是偏执的包,用于安全散列和加密密码。
- lego - Pure Go ACME客户端库和CLI工具(用于Let的加密)。
- memguard - 用于处理内存中敏感值的纯Go库。
- nacl - 执行NaCL的API集。
- passlib - Futureproof密码哈希库。
- 安全 - Go的HTTP中间件,有助于快速获得安全性。
- simple-scrypt - Scrypt包,内置简单明了的API和自动成本校准功能。
- ssh-vault - 使用ssh密钥加密/解密。
序列化
用于二进制序列化的库和工具。
- asn1 - 用于golang的Asn.1 BER和DER编码库。
- bambam - 用于Cap'n Proto架构的发电机。
- colfer - Colfer二进制格式的代码生成。
- csvutil - 针对原生Go结构的高性能,惯用CSV记录编码和解码。
- fwencoder - Go的固定宽度文件解析器(编码和解码库)。
- go-capnproto - Cap'n Proto库和解析器。
- go-codec - 用于msgpack,cbor和json的高性能,功能丰富,惯用的编码,解码和rpc库,具有基于运行时的OR代码生成支持。
- gogoprotobuf - 使用小工具的Go协议缓冲区。
- goprotobuf - 以库和协议编译器插件的形式支持Google的协议缓冲区。
- jsoniter - 高性能100%兼容直接替换“encoding / json”。
- mapstructure - 用于将通用映射值解码为本机Go结构的库。
- php_session_decoder - GoLang库,用于处理PHP会话格式和PHP Serialize / Unserialize函数。
- structomap - 用于从静态结构轻松动态生成地图的库。
服务器应用
- algernon - HTTP / 2 Web服务器,内置支持Lua,Markdown,GCSS和Amber。
- Caddy - Caddy是一种易于配置和使用的HTTP / 2 Web服务器。
- consul - Consul是一种服务发现,监控和配置工具。
- devd - 开发人员的本地Web服务器。
- etcd - 用于共享配置和服务发现的高可用密钥值存储。
- Fider - Fider是一个收集和整理客户反馈的开放平台。
- minio - Minio是一个分布式对象存储服务器。
- nsq - 实时分布式消息传递平台。
- yakvs - 小型,联网,内存中的键值存储。
模板引擎
用于模板和lexing的库和工具。
- ace - Ace是Go的HTML模板引擎,灵感来自Slim和Jade。Ace是对Gold的改进。
- 琥珀 - Amber是Go编程语言的优雅模板引擎。它源自HAML和Jade。
- 少女 - 标记语言,通过css选择器提供html概述,可通过pkg html / template等扩展。
- ego - 轻量级模板语言,可让您在Go中编写模板。模板被翻译成Go并编译。
- fasttemplate - 简单快速的模板引擎。替换模板占位符的速度比文本/模板快10倍。
- gofpdf - PDF文档生成器,具有对文本,绘图和图像的高级支持。
- grender - 用于支持扩展其他模板文件的基于文件的模板的html / template的小包装器。
- 英雄 - 英雄是一个方便,快速和强大的模板引擎。
- jet - Jet模板引擎。
- kasia.go - 用于HTML和其他文本文档的模板系统 - 去实现。
- liquid - Go实施Shopify Liquid模板。
- 小胡子 - 去实现Mustache模板语言。
- pongo2 - Go的Django式模板引擎。
- quicktemplate - 快速,强大且易于使用的模板引擎。将模板转换为Go代码,然后编译它。
- raymond - Go中的完整把手实现。
- Razor - Golang的Razor视图引擎。
- 大豆 - 按照官方规范关闭Go的封闭模板(又名大豆模板)。
- 天鹅绒 - Go中的完整把手实施。