接上篇
函数式编程
fpGo : Golang中的单项式函数式编程功能fuego : Go中实验室的函数式编程。go-underscore : Go函数式集合工具。游戏开发
Azul3D : Go语言编写的 3D 游戏引擎Ebiten : Go 语言编写的简单的 2D 游戏库engo : EnGo是一个开源的2D游戏引擎,遵循实体-组件-系统范式g3n : Go 3D游戏引擎。go-astar : A*路径查找算法的Go实现。go-sdl2 : Simple DirectMedia Layer 的 Go封装。go3d : 专注性能的 2D/3D 数学库gonet : Go语言实现的游戏服务器框架goworld : 可扩展的游戏服务器引擎。Leaf : 轻量级游戏服务器框架nano : 基于golang的轻量级、设施、高性能的游戏服务器框架。Oak : go游戏引擎。Pitaya : 可扩展的游戏服务器框架,支持集群,并通过C SDK为iOS、Android、Unity等提供客户端库。Pixel :2D 游戏引擎库prototype : 跨平台(Windows/Linux/Mac)库,可利用最小的API创建桌面游戏。raylib-go : raylib的 Go 语言接口,简单、易用的用于学习游戏编程的库raylib : raylib的Go绑定,一个简单易用的电子游戏编程学习库。termloop : 终端游戏引擎,基于 Termboxtile : 面向数据和缓存友好的 2D 网格库 (TileMap)。代码生成与泛型
efaceconv : 代码生成工具,用于高效的将 interface{}转换为不可变类型,并且不需要进行任何内存分配gen : 代码生成工具,用于提供类似泛型的功能generis : 提供泛型、自由形式宏、条件编译和 HTML 模板化的代码生成工具。go-enum : 从代码注释中生成enums代码。go-linq : 类似.NET LINQ的Go查询方法。go-xray : 使反射的使用更加简单的助手。goderive : 从输入类型导出函数。gotype : Golang源代码解析,用法类似于 reflect 包。GoWrap : 使用简单的模板为 Go接口生成装饰器。interfaces : 命令行工具,用于生成接口定义jennifer : 不适用模板生成任意 Go 语言代码pkgreflect : 用于包作用域反射的 Go语言预处理器typeregistry : 用于动态创建类型的库。位置信息与地理GEO处理库
geocache : 内存缓存,适用于基于地理位置的应用。geoserver : 用于通过GeoServer REST API操纵GeoServer实例的Go包。gismanager : 将你的GIS数据(矢量数据)发布到PostGIS和Geoserver的库。mbtileserver : 简单的基于Go的服务器,用于存储mbtiles格式的地理信息。osm : 用于读取、写入和处理OpenStreetMap数据和API的库。pbf : OpenStreetMap PBF golang编码器/解码器。S2 geojson : 将geojson转换为S2单元格,并在地图上演示一些S2几何特征。S2 geometry : Go中的S2几何库。Tile38 : 具有空间索引和实时地理围栏的地理位置数据库。WGS84 : 坐标转换和变换的库(ETRS89, OSGB36, NAD83, RGF93, Web Mercator, UTM)。c4go : 将C代码转换为go代码。f4go : 将FORTRAN 77代码转为 Go 代码。gopherjs : 把Go 编译为JavaScript.llgo : 基于 LLVM 的Go 语言编译器tardisgo : Golang转换为 Haxe 进而转换为 CPP/CSharp/Java/JavaScript的编译器.Goroutines
goroutines的管理和使用
ants : 高性能和低消耗的goroutine池。artifex : Golang的简单内存作业队列,使用基于worker的调度策略。async : Go的另一个同步库(Future, Promise, Locks)。async : 安全的异步函数执行的方式,支持在出现pannic的情况下恢复它们。breaker : 采用了一种可以使执行流可中断的灵活的机制的包。channelify : 将你的函数转化为返回管道,以实现简单而强大的并行处理。conexec : 一个并发工具包,帮助你以一种高效和安全的方式并发执行函数。它支持指定整体超时以避免阻塞,并使用goroutine池来提高效率。cyclicbarrier : – golang的CyclicBarrier。go-floc : 轻松编排 Go语言协程go-flow : 控制Go语言协程的执行顺序go-tools/multithreading : 使用这个轻量级的库和简单的API来管理goroutine 池。go-trylock : 支持 Golang 的读写锁的 TryLock.go-waitgroup : – 类似 sync.WaitGroup的错误处理和并发控制。goccm : Go并发管理包,限制了允许并发运行的 goroutine的数量gohive : 高性能且易于使用的goroutine池。gollback : 异步简单函数工具,用于管理闭包和回调的执行goworker : Goworker是一个基于 Go 语言的后台workergowp : – gowp 是限制并发量的goroutine池。gpool : 管理一个可调整大小的上下文感知的goroutine池,并以这种方式来约束并发量。grpool : 轻量级Goroutine池。hands : 用于控制多个goroutine的执行和返回策略的进程控制器。Hunch : Hunch提供的功能有。All、First、Retry、Waterfall等功能,让异步流控制更加直观。kyoo : 提供了一个无限的作业队列和并发的工作池。neilotoole/errgroup : sync/errgroup的替代方案,限于N个worker goroutine池。nursery : Go中的结构化并发oversight : versight是 Erlang监督树的完整实现。parallel-fn : 并行执行函数。pond : 在 Go 中编写的最小化和高性能的 goroutine工作池。pool : 便于goroutine处理和取消的有限的消费者goroutine池或无限的goroutine池,queue : 类似于sync.WaitGroup的队列包。帮助你控制和等待goroutine的执行,比如等待所有goroutine的结束等等。routine : 利用context的go routine实现。semaphore : 基于管道和上下文的加锁/解锁操作。semaphore : 基于CAS的快速可调整大小的semaphore实现(比基于管道的semaphore实现更快)。stl : 基于软件事务性内存(STM)并发控制机制的软件事务性锁。threadpoolGolang线程池的实现。tunny : Go语言协程池worker-pool : Go简单的异步worker池。workerpool : 用于限制任务执行的并发性的goroutine缓冲池。GUI
app : 使用Go, HTML 和 CSS 进行应用程序开发的库, 支持MacOS, Windows。fyne : 基于Material Design为Go设计的跨平台本地GUI。支持 Linux, macOS, Windows, BSD, iOS` 和 Android.go-astilectron : 使用GO和HTML/JS/CSS(由Electron提供支持)构建跨平台GUI应用程序go-gtk : GTK的Go绑定。go-sciter : Sciter 的Go 语言接口,支持现代 GUI 程序开发的、嵌入式 HTML/CSS/脚本引擎。具有跨平台特性。gotk3 : GTK3的Go语言接口gowd : 使用Go, HTML, CSS和NW.js 语言进行快速、简单的桌面UI开发。具有跨平台特性qt : Qt的Go语言接口 (支持 Windows,macOS,Linux,Android,iOS,Sailfish OS, Raspberry Pi)ui : 跨平台的原生 GUI 库Wails : 使用内置的 HTML 渲染器。walk : windows应用程序开发工具包webview : 支持双向JavaScript绑定的跨平台 webview 窗口库(Windows,macOS,Linux)。go-appindicator : libappindicator3 C库的Go绑定。gosx-notifier : OSX 桌面提醒库mac-activity-tracker : OSX 库,用于通知机器上的任何(可插拔)活动。mac-sleep-notifier : – golang中的OSX睡眠/唤醒通知库。robotgo : 跨平台GUI自动化工具,可以控制鼠标、键盘及其他设备systray : 跨平台的Go 语言库,用于在桌面提醒区域放置按钮及菜单trayhost : 跨平台的 Go 语言库,用于在主机系统任务条区域放置按钮及菜单硬件
与硬件交互的库、工具
请参考 go-hardwareImages 图像处理
bild : 汇集了使用 Go语言编写的图像处理算法bimg : 利用libvips进行快速高效的图像处理cameron : Go的头像生成器。canvas : 将矢量图形转换成 PDF、SVG或光栅化图像。darkroom : 图像代理,具有可更改的存储后端和图像处理引擎,注重速度和弹性。draft : 使用简单的YAML语法为GraphViz生成高级微服务架构图。geopattern : 从字符串创建优美的图样gg : 使用Go编写的 2D渲染程序gift : 图像处理过滤器包gltf : 高效且强大的glTF 2.0读取器、写入器和验证器。go-cairo : cairo 图形库的 Go语言接口go-gd : GD库的Go 语言接口go-nude : 使用 Go 语言进行裸替检测go-opencv : OpenCV 的 Go语言接口go-webcolors : webcolors 库的Go语言接口gocv : 使用OpenCV 3.3+ 的计算机视觉的 Go 包。goimagehash : Go感知图像哈希包。goimghdr : imghdr模块为 Go 确定文件中包含的图像类型。govatar : 用于生成有趣头像的库和命令行工具。gridder : 基于网格的2D图形库。image2ascii : 将图像转换为ASCII码。imagick : ImageMagick的 MagickWand C语言API 的 Go语言接口imaginary : 快速且简单的 HTTP微服务,用于图像缩放imaging : 简单的Go图像处理包。img : 图像操作工具精选集ln : 3D 图线艺术渲染mergi : 用于图像处理的工具和Go 库(合并、裁剪、调整大小、水印、动画)。mort : 用Go编写的存储和图像处理服务器。mpo : MPO 3D 照片解码与转换工具.picfit : 一个使用 Go语言编写的图片缩放服务器pt : 光线追踪引擎resize : 使用 Go语言编写的具有常见差值功能的图片缩放工具rez : 纯 Go 及SIMD实现的图像缩放库smartcrop : – 为任意图片进行剪裁的工具steganography : 用于LSB隐写的纯Go库。stegify : 用于LSB隐写的Go工具,能够隐藏图像中的任何文svgo : 用于生成 SVG的Go语言库tga : tga是一个TARGA图像格式解码/编码器物联网(IOT)
connectordb : 针对iot的开源物联网平台devices : 管理物联网设备的套件库eywa : Eywa 是一个持续追踪所有连接设备的连接管理器flogo :FloGo是一个用于物联网 Edge App及集成的开源框架gatt : Gatt是一个用于创建低功耗蓝牙外设的库gobot : Gobot 是一个用于机器人,物理计算以及物联网的库huego : 适用于 Go的广泛的 Philips Hue客户端库。iot : IoT是实现Google IoT Core设备的简单框架。mainflux : 工业物联网消息传递和设备管理服务器。periph : 外设I/O,用于连接低级板卡设施。sensorbee : 轻量级物联网流处理引擎作业调度
clockwerk : 使用简单、流畅的语法来调度周期性作业的Go包。clockwork : Go中简单直观的作业调度库。go-cron : Go的简单Cron库,它可以在不同的时间间隔执行闭包或函数,主要用于web应用程序和长期运行的守护进程。go-quartz : 简单、零依赖的Go调度库。gocron : 简单流畅的Go作业调度。这是·jasonlvhit/gocron·`的一个积极维护的fork.gron : 使用简单的 Go API 定义基于时间的任务,Gron的调度器将相应地运行它们。JobRunner : 智能且功能丰富的cron任务调度器,内置任务队列和实时监控。jobs : 持久而灵活的后台作业库。leprechaun : 工作调度器,支持webhooks、crons和经典调度系统。scheduler : Cronjobs调度系统。JSON
ajson : golang实现的支持JSONPath的抽象JSON格式解析库。dynjson : 向客户端提供自定义的JSON格式的动态API库ej : 从不同的数据写入和读取JSON的库。epoch : 包含用于将Unix时间戳,epoch转换为JSON中的内置时间类型的范的json响应错误。go-respond : 用于处理常见HTTP JSON响应的Go包。gojq : Golang中的JSON查询库。gojson : 从示例 JSON自动生成 Go结构体定义的库。JayDiff : 用Go编写的JSON差异比较工具。jettison : 用于Go的高性能、无反射的JSON编码器。JSON-to-Go : 将JSON转换为Go结构json2go : 高级JSON到Go结构的转换。提供能够解析多个JSON文档并创建适合所有JSON文档的结构的包。jsonapi-errors : 基于JSON API错误引用的Go语言封装。jsonf : 用于高亮格式化和结构查询JSON的控制台工具。jsongo : Fluent API,使其更容易创建Json对象。jsonhal : ,用于将自定义的结构体marshal为兼容HAL的JSON response的库。jzon : 兼容标准json库的JSON库。kazaam : 转换任意json文档的的API库。mapslice-json : 用于有序地对JSON中的map结构进行marshal/unmarshal。mp : 简单的 cli电子邮件解析器,能够接受标准输入并输出JSON日志Logging 日志库
distillog : 分级日志记录库(可以把它想象成 stdlib + log levels)。glg : 简单、快速、分级的日志库glo : 分级记录日志的库glog : Go的分级日志go-cronowriter : 对日志文件基于当前日期和时间进行自动循环写入的库,类似 cronolog.go-log : 一个包含rack traces、对象转储和可选时间戳的日志库。go-log : 简单且可配置的go日志库,包括分级、格式化和多项输出的特性。go-log : 日志库支持级别和多处理程序。go-log : Go中的Log4j实现。go-logger : 支持日志分级的简单的日志工具gologger : 简单易用的日志库,可以在彩色控制台、文件或 Elasticsearch中记录gomol : 支持多种输出,结构化的日志模块,可以扩展它的输出gone/log : 快速、可扩展、全功能、兼容标准库的日志库httpretty : 将常规的 HTTP 请求漂亮地打印在终端上用于调试(类似于 http.DumpRequest)。journald : systemd 日志的本地日志API的 Go实现。kemba : 受debug 启发的小型调试日志工具,非常适合CLI工具和应用程序。log : O(1)复杂度的日志系统,允许你将一个日志连接到多个输出(例如 stdout、文件和一个 TCP 连接)。log : Go的结构化日志包。log : 简单、可配置、可扩展的Go结构化日志库。log : 结构化日志接口。log-voyage :用golang编写的全功能日志库。log15 : 简单、强大的Go日志记录。logdump : 用于多级日志记录的软件包。logex : Golang日志库,支持跟踪和级别,由标准日志库封装。logger : 日志库。logmatic : Golang的彩色日志记录器,具有动态日志级别配置功能。logo : Golang的日志记录库,可配置不同的写入器。logrus : 支持结构化的日志工具.logrusiowriter : 使用 logrus logger 的 io.Writer 实现。logrus : Go的结构化日志记录器。logrusly : logrus插件,用于将错误发送到Logglylogur : 日志记录接口和日志记录最佳实践的整合,它对诸多知名库如logrus、go-kit log、zap , zerolog等的功能进行了集成logutils : 对 Go语言标准日志工具进行了扩展,使其更好用logxi : 十二要素 app 日志工具,非常快速。lumberjack : 简单的循环日志工具。mlog : 简单的日志模块,可以分5级并有一个可选的循环日志文件记录功能,支持 stdout/stderr 输出.onelog : Onelog是一个简单但非常高效的JSON日志库。它是目前所有场景下最快的JSON日志器。同时,它也是所需最少内存分配的库。ozzo-log : 高性能日志库,支持日志分级、分类及过滤。可以将过滤后的信息发送到不同的目的地(例如: 控制台、网络、邮箱).phuslu/log : – 结构化日志系统。rollingwriter : RollingWriter是一个具有自动轮转功能的io.Writer实现,它有多种策略来提供日志文件旋转。seelog : 灵活的、解耦的、格式化的日志库spew : – 为 Go语言的数据结构实现了一个整洁的打印功能,有助于调试sqldb-logger : -用于Go SQL数据库驱动的日志记录器,无需修改现有的*sql.DB标准用法。stdlog : Stdlog是一个面向对象的库,提供了分级日志功能,对于定时任务很有用.tail : 这个 Go语言软件包力争模拟 BSD tail的功能xlog : 插件架构以及灵活的日志系统,具有日志等级控制,多日志目标以及自定义日志格式功能xlog : 结构化日志库zap : 快速的、结构化的、分级的日志库zerolog : 零内存分配 的JSON日志库.机器学习
bayesian : 贝叶斯分类器CloudForest : 纯 Go语言编写的快速、灵活、多线程决策树eaopt : 进化优化库。evoli : 遗传算法和粒子群优化库。fonet : 用Go编写的深度神经网络库。go-cluster : k-modes和k-prototypes聚类算法的Go实现。go-deep : 用Go编写的功能丰富的神经网络库。go-fann : 快速人工神经网络库(FANN)的 Go 语言借口.go-galib : Go语言编写的遗传算法库go-pr : Go语言模式识别库gobrain : 用go语言编写的神经网络。godist : 各种概率分布以及相关方法库。goga : Go 语言遗传算法库GoLearn : Go语言通用机器学习库golinear : liblinear 库的 Go语言接口GoMind : Go 中的一个简单的神经网络库。goml : 即时go语言机器学习库gonet : Go的神经网络。Goptuna : 用Go编写的黑盒函数的贝叶斯优化框架。一切都将被优化。goRecommend : Go 语言推荐算法库gorgonia : 基于图的计算库,类似于 Theano。提供了一些原型用于构建各种个样的机器学习和神经网络算法gorse : 用Go编写的基于协作过滤的离线推荐系统后台。goscore : 用于 PMML 的 Go 评分API。gosseract : 用于OCR(光学字符识别)的Go包,使用Tesseract C++库。libsvm : libsvm的Go 语言版本,基于 LIBSVM 3.14.neat : 即插即用的并行Go 语言框架,用于增强拓扑神经网络 (NEAT).neural-go : Go语言实现的多层感知神经网络,通过反向传播算法进行训练.ocrserver : 简单的OCR API服务器,很容易被Docker和Heroku部署。onnx-go : Open Neural Network Exchange (ONNX)的Go接口。probab : 概率分布函数。贝叶斯推理。用纯Go编写。randomforest : 简单易用的 Go随机森林库。regommend : 推荐系统及协同过滤引擎shield : go语言实现的贝叶斯文本分类器,具有灵活的标记器和存储后端。tfgo : 易于使用的Tensorflow “ go语言封装:简化了官方Tensorflow Go的使用。Varis : Golang神经网络。消息系统
ami : 基于Redis集群可靠队列的Go客户端。APNs2 : go语言实现的基于HTTP/2苹果推送通知提供服务,可以向iOS、tvOS、Safari和OSX应用程序发送推送通知Asynq : 建立在 Redis 之上,为 Go 提供的简单、可靠、高效的分布式任务队列,。Beaver : 实时消息服务器,用于在网络和移动应用中构建可扩展的应用内通知、多人游戏、聊天应用。Benthos : 在一系列协议之间建立消息流go代码库Bus : 用于内部通信的简约型消息总线实现。Centrifugo : 实时消息服务器Commander : 一个高级事件驱动库,支持消费者/生产者模式,支持各种消息系统,如Apache Kafka。Confluent Kafka Golang Client 是Confluent为Apache Kafka和Confluent Platform开发的Golang客户端。dbus : D-Bus的 Go 语言接口drone-line : 通过软件包,docker或是 Drone CI来发送 Line 通知emitter : 通过Go语言的方式发送事件消息,可以使用通配符,断言,取消发送等优秀特性。event : 观察者模式的go语言实现EventBus : 轻量级事件库,支持异步gaurun-client : Go 语言编写的 Gaurun 客户端Glue : 健壮的 Go和 Javascript Socket 库 (可以用来替代Socket.io).go-mq : 具有声明式配置的RabbitMQ客户端。go-notify : freedesktop通知规范的本地实现go-nsq : NSQ官方 Go 语言库go-res : 用于构建 REST/实时服务的包,使用NATS 和 Resgate实现客户端无缝同步。go-socket.ioGo 语言的 socket.io库 ,一个实时应用框架.go-vitotrol : Viessmann Vitotrol服务的Go 语言客户端Gollum : 一个n:m 的多路复用器,从不同的源汇聚消息并向目标进行广播golongpoll : HTTP 长轮询服务器库,让 web 发布与订阅变的更简单.gopush-cluster : Gopush-cluster 是一个Go语言实现的支持集群的comet服务(支持websocket和tcp协议)gorush 通知推送服务器,使用 APNs2 和 GCM 。gosd : 用于调度何时向通道发送消息的库。guble : 使用通知推送(Google Firebase Cloud Messaging, Apple Push Notification services, SMS)、websockets 、REST API的消息服务器。提供了分布式操作和消息持久化特性hub : 用于 Go 应用程序的消息/事件汇聚,使用发布/订阅模式,支持像 rabbitMQ 的使用模式。jazz : 一个简单的RabbitMQ抽象层,用于队列管理以及消息的发布和消费。machinery : 异步任务队列,基于分布式消息处理mangos : 纯 Go语言实现的 Nanomsg (“Scalable Protocols”)melody : 用于处理websocket会话的简约框架,包括广播和自动ping/pong处理。Mercure : 使用Mercure协议(建立在Server-Sent Events之上)来调度服务器发送的更新的代码库。messagebus : messagebus是一个Go简单的异步消息系统,用于事件源、CQRS、DDD等场景NATS Go Client : 原生的 oplog/replication系统,用于 REST APIs场景nsq-event-bus : 针对 NSQ 的topic和channel进行了简单的封装oplog : 用于 REST API场景的通用oplog/copy系统。pubsub : 简单的 pubsub软件包rabbus : amqp交换队列的简易封装。rabtap : -RabbitMQ 瑞士军刀 cli应用。RapidMQ : RapidMQ是一个轻量级,可靠的本地消息队列管理库redisqueue : redisqueue 提供了一个使用 Redis流的队列,可以用于生产者和消费者模式。rmqconn : RabbitMQ Reconnection。amqp.Connection 和 amqp.Dial的go语言封装。允许在连接中断时进行重新连接,然后再强制调用关闭方法。sarama : 用于 Apache Kafka的库Uniqush-Push : 基于 Redis 的统一推服务,用于服务器端向移动客户端推送消息zmq4 : ZeroMQ version 4的 GO语言接口。也有适用于version 3 及 version 2 的Microsoft Office
unioffice : 用于创建和处理Office Word (.docx)、Excel (.xlsx)和Powerpoint (.pptx)文档的纯go库。EXCEL
excelize : 用于读写 Microsoft Excel™ (XLSX) 文件的 Golang库go-excel : 用于读取类似数据库形式的excel表格。goxlsxwriter : go语言libxlsxwriter封装, 用于编写 XLSX (Microsoft Excel) 文件。xlsx : 用于在 Go 程序中读取最新版 Microsoft Excel的库xlsx : 在Go程序中快速、安全地读取/更新现有 Microsoft Excel文件的库。其他杂项
依赖性注入
alice : Golang的依赖注入容器container : 功能强大的 IoC容器,具有流畅且易于使用的界面。di : Go编程语言的依赖注入容器。dig : 基于反射的Go依赖注入工具包。dingo : 基于 Guice 的 Go 依赖注入工具包。fx : 基于 Go的依赖注入应用框架(建立在 dig 的基础上)。gocontainer : 简单的依赖注入容器。goioc/di : Spring启发的依赖注入容器。linker : 基于反射的依赖注入和反转的控件库,支持组件生命周期。wire : Golang运行时依赖注入。项目结构
用于构建项目的非官方模式集。
cookiecutter-golang :Go应用程序模板,用于按照生产最佳实践快速启动项目。go-sample : 一个带有真实代码的 Go 应用项目布局示例。go-todo-backend : Go Todo Backend示例,使用模块化的项目布局,针对微服务等场景。golang-standards/project-layout : -Go 生态系统中常见的历史和新兴项目布局模式集。modern-go-application : 应用现代实践的Go 应用程序模板和示例。scaffold : Scaffold 生成一个入门的 Go 项目布局。让您专注于业务逻辑的实现。字符串处理
go-formatter : 实现大括号{}格式字符串的替换字段。gobeam/Stringy : 字符串操作库,用于将字符串转换为驼峰、小驼峰等格式strutil : 字符串实用工具。xstrings : 从其他语言移植过来的字符串函数集合。暂未分类
这些库被放在这里是因为其他类别似乎都不适合。
anagent : 简约、可插拔的Golang evloop/timer处理程序,具有依赖注入功能。antch : 一个快速、强大、可扩展的网络爬行和抓取框架。archiver : 用于制作和解压.zip和.tar.gz文件的库和命令。autoflags : Go包,用于从结构域中自动定义命令行标志。avgRating : – 基于Wilson Score Equation计算平均得分和评分。banner : 在你的Go应用程序中添加漂亮的横幅。base64Captcha : Base64captch支持数字、数字、字母、算术、音频和数字来生成字母验证码。battery : 跨平台电源信息库bitio : 高度优化的比特级读写browscap_go : Browser Capabilities Project的GO 语言库captcha : 包 captcha 为验证码的生成提供了一个简单易用的 API。conv : 包conv提供了跨Go类型的快速和直观的转换。datacounter : Greaders/writer/HTTP.ResponseWriter计数器faker : Go的随机伪造数据和结构生成器。ffmt : 美化数据显示。gatus : 自动化的服务健康仪表板。ghorg : 快速将整个org/users 仓库克隆到一个目录中 – 支持GitHub、GitLab 和 Bitbucket。go-commons-pool : Golang 的通用对象池。go-openapi : 解析和使用 open-api 模式的软件包集合。go-resiliency : golang的弹性模式。go-unarr : RAR、TAR、ZIP 和7z文件的解压库。gofakeit : 用go编写的随机数据生成器。gommit : 分析git提交消息,确保它们遵循定义的模式。gopsutil : 跨平台库,用于检索进程和系统利用率(CPU、内存、磁盘等)。gosh : 提供Go 统计处理程序、结构、测量方法。gosms : 你本地的SMS网关,可以用来发送 SMSgotoprom : 提供Go统计处理程序、结构、测量方法gountries : 一个用来展示国家及其行政区划数据的库health : 简单易用、可扩展的服务健康检查库healthcheck : 针对RESTful并发服务健康检查HTTP处理程序。hostutils : 用于打包和解压FQDNs列表的golang库。indigo : 使用Sonyflake和Base58编码的分布式唯一ID生成器。lk : 简单的 `golang 授权库。llvm : – 用于在纯Go中与LLVM IR交互的库。metrics : 用于度量工具和Prometheus 指标的库。morse : 用于转换摩尔斯代码的库。numa : – NUMA是一个用 Go 编写的实用程序库。它帮助我们编写一些NUMA-AWARED代码。pdfgen : 从Json请求中生成PDF的HTTP服务。persian : 用go编写的波斯语实用程序。sandid : 地球上的每一粒沙子都有自己的ID。shellwords : Golang 库,用于根据UNIX Bourne shell的单词解析规则来处理字符串。shortid : 分布式生成超短的、唯一的、非序列的、URL友好的ID。shoutrrr : 提供轻松访问各种消息服务的通知库,如slack, mattermost, gotify和smtp等。stateless : 用于创建状态机的库stats : 监控 Go 内存状态及系统状态,通过UDP进行数据发送turtle : Go的Emojis。url-shortener : 一个现代的、强大的、健壮的、支持mysql的URL短链的微服务。VarHandler : 生成模板化的http输入和输出。xdg : Go中实现的FreeDesktop.org (xdg)规范。xkg : 键盘抓取器自然语言处理
detectlanguage : 语言检测API Go客户端。支持批量请求、短语或单字语言检测。getlang : 快速自然语言检测包。go-i18n : ,用于处理本地化文本 的软件包及相关工具go-localize : 简单易用的i18n(国际化和本地化)引擎 – 用于翻译本地化字符串。go-mystem : Yandex.Mystem的CGo 接口, Yandex.Mystem 是一个俄语词汇形态学分析器go-nlp : 在进行自然语言工作时用于处理离散概率分布一些工具,以及其他的一些有用的工具go-pinyin : 汉字到汉语拼音转换器。go-stem : 波特词干算法的一个实现go-unidecode : Unicode 文本音译为ASCII 文本go2vec : 利用 Go语言读取和处理 word2vecgojieba : 结巴分词的 Go语言实现的 jieba ,结巴分词是一个用于中文的分词算法golibstemmer : snowball libstemmer 库的 Go语言接口,包括了对 porter 2的支持gosentiwordnet : libstemmer库的Go绑定。gotokenizer : 基于Golang的字典和 Bigram 语言模型的分词器。(现在只支持中文分割)gounidecode : Go语言的 Unicode 直译器 (通常称之为 unidecode)govader : VADER Sentiment Analysis 情感分析的Go实现gse : Go高效的文本分割;支持英语、中文、日语和其他语言。icu : icu4c C库的 CGo接口,包括了检测和转换函数。保证了version 50.1版本的兼容性iuliia-go : 以各种可能的方式翻译西里尔语→拉丁语。kagome : 用纯Go编写的JP形态分析器。libtextcat : libtextcat C库的CGo接口。保证了version 2.2版本的兼容性MMSEGO : Go 语言实现的 MMSEG(一个中文分词算法)MMSEG : MMSEG的GO实现,是一种中文分词算法。nlp : 从字符串中提取值,并用nlp填充结构。nlp : 支持LSA(Latent Semantic Analysis)的Go自然语言处理库。paicehusk :Go语言实现的 Paice/Husk 词干算法petrovich : Petrovich 是一个将俄语名称转变成给定语言的库。porter : Martin Porter实现的C语言版本的Porter词干算法的Go 语言接口。porter2 : 非常快速的 Porter 2 stemmer.prose : 文本处理库,支持词语切分、词性标记、命名实体提取等功能RAKE.go : 快速自动关键字提取算法(Rapid Automatic Keyword Extraction:RAKE)的 Go 语言接口segment : 用于进行 Unicode 文本分割的库,实现了Unicode Standard Annex #29 中描述的功能sentences : 语句标记器:将文字段落转换为语句列表shamoji : shamoji 是一个Go语言编写的词过滤软件包snowball : Snowball native分词器的Go语言接口,提供了分词提取的功能 .stemmer : Go 语言分词器软件包,包括了英语和德语分词器textcat : 基于 n-gram的 Go 语言文本分类软件包,支持utf-8 和原始文本transliterator : 提供单向字符串翻译,支持特定语言的翻译规则whatlanggo : Go语言的自然语言检测包。支持84种语言和24种书写 (如拉丁,西里尔等书写系统)。when : 英语、俄语的自然语言日期、时间表达解析器。网络相关库
arp : 遵循 RFC 826标准实现了ARP协议,.buffstreams : 基于 TCP的 简单易用的protocolbuffer 数据流,canopus : CoAP客户端/服务器实现 (RFC 7252)cidranger : Go的快速IP、CIDR查找库。dhcp6 : dhcp6 实现了一个DHCPv6服务器,遵循RFC 3315标准.dns : 用于处理DNS 的Go 语言库ether : 跨平台Go 语言库,用于发送和接收以太帧ethernet : ethernet实现了IEEE 802.3 Ethernet II帧以及IEEE 802.1Q VLAN标签的组装和剥离.fasthttp : asthttp 是一个快速的HTTP实现,比net/http1的性能快10倍fortio : 负载测试库和命令行工具,提供先进的echo服务器和web用户界面。允许指定设定每秒钟查询的负载,记录延迟直方图和其他有用的统计数据,并将其绘制成图表。ftp :ftp 实现了一个FTP 客户端,遵循 RFC 959 标准gaio : 在proactor模式下为Golang提供高性能的异步io网络。gev : 一个轻量、比标准库更快的基于Reactor 模式的非阻塞TCP网络库,支持自定义协议,可以轻松快速搭建高性能服务器。gmqtt : Gmqtt是一个灵活、高性能的MQTT代理库,它完全实现了MQTT 协议 V3.1.1版本gnet : gnet是用纯Go编写 的一个高性能、轻量级、非阻塞、事件驱动的网络框架,gNxI : 使用gNMI和gNOI协议的网络管理工具集合。go-getter : 一个用于通过 URL 从多种源下载文件或目录的 Go 语言库go-powerdns : Golang的PowerDNS API绑定。go-stun : Go语言实现的STUN客户端 (参考RFC 3489及RFC 5389标准).gobgp : Go语言实现的BGPgohooks : GoHooks 使得从Go应用程序中发送和消费安全的web-hooks非常容易。该库的实现受Spatie的Laravel Webhook客户端和服务器的启发。golibwireshark :Golibwireshark 使用libwireshark 库来解析pcap 文件并且分析数据gopacket : 用于报文处理的库gopcap : libpcap的 Go 语言封装goshark :Goshark使用tshark 来对IP报文进行解码并创建数据结构用于分析报文gosnmp : 用于执行SNMP操作的库gotcp : 用于快速编写tcp应用的库grab : 管理文件下载的Go 语言库graval : 试验性的FTP 服务器框架HTTPLab : HTTPLabs让你检查HTTP请求和伪造响应。httpproxy : HTTP代理处理程序和拨号器。iplib : 用于处理IP地址的库 (net.IP, net.IPNet),灵感来自python ipaddress和ruby ipaddr。jazigo : Jazigo是一个用Go编写的工具,用于检索多个网络设备的配置。kcp-go :KCP – 快速可靠的ARQ协议。kcptun : 基于KCP协议的极其简单和快速的udp隧道。lhttp : 强大的websocket框架,让您更轻松地建立IM服务器。linkio : 接口读写速度模拟器llb : 非常简单但快速的后端代理服务器。对于快速重定向到预定义域名很有用,无内存分配,响应速度快mdns : 简单的mDNS (组播 DNS)客户端/服务器库mqttPaho : Paho客户端提供了一个MQTT客户端库,用于通过TCP, TLS 或WebSockets和MQTT broker 建立连接NFF-Go : 用于快速开发云和裸机(原YANFF)的高性能网络功能的框架。packet : 通过TCP和UDP发送数据包。如果需要的话,它可以缓冲消息和热交换连接。panoptes-stream : 云端原生的分布式流媒体网络遥测(gNMI、Juniper JTI和Cisco MDT)库。peerdiscovery : Go库,用于使用UDP组播进行跨平台本地对等发现。portproxy : 单的TCP代理,为不支持CORS的API增加了CORS支持。publicip : publicip返回你面向公众的IPv4地址(互联网出口)。quic-go : 纯Go中QUIC协议的实现。raw :raw允许你在设备驱动层读写网络接口的数据sftp : sftp 实现了https://filezilla-project.org/specs/draft-ietf-secsh-filexfer-02.txt 中描述的 SSH 文件传输协议ssh : 用于创建 SSH 服务器的高级API(封装了crypto/ssh).sslb : 超简单的负载均衡库。stun :RFC 5389 STUN协议的Go实现。tcp_server : 用于更快地构建tcp服务器的Go库。tspool : 一个使用worker pool来提高性能和保护服务器的TCP库。utp : Go uTP微传输协议的实现vssh : Go库,用于通过SSH协议构建网络和服务器自动化。water : 一个简单的TUN/TAP库。webrtc :WebRTC API的纯Go实现。winrm : 用于在Windows 机器上远程执行命令的Go WinRM客户端。xtcp : TCP 服务器框架,支持同时全双工通信。可以优雅的关闭,并且支持自定义协议Http Client
gentleman : -插件驱动的HTTP客户端库。go-http-client : 支持简单方便地进行http调用。grequests : 著名的请求库的Go版本。heimdall : 具有重试和hystrix功能的http客户端。httpretry : 丰富了默认的Go HTTP客户端的重试功能。pester : 具有重试、回退和并发功能的Go HTTP客户端调用。request : golang的HTTP客户端。如果你有关于axios或requests 的经验,你会喜欢它,该库没有第三方依赖。resty : 受Ruby rest-client 的启发,为Go 设计的简单HTTP和REST客户端。rq : golang标准客户端的更好的接口封装sling : 用于创建和发送API请求的Go HTTP客户端库。OpenGL
gl : OpenGL的Go语言接口glfw : GLFW 3的Go语言接口go-glmatrix : glMatrix 库的 Go 移植。 :goxjs/gl : Go语言跨平台OpenGL 接口(OS X, Linux, Windows, browsers, iOS, Android).goxjs/glfw :Go 语言跨平台glfw库,用于创建OpenGL上下文并接收事件mathgl : Go语言3D数学库,专注于3D,受到GLM 启发ORM
beego orm : 强大的Go 语言orm 框架,支持pq/mysql/sqlite3.ent : 简单而强大的用于数据建模和查询的ORM。go-firestorm :Google/Firebase Cloud Firestore的简单ORM。go-pg : 专注于PostgreSQL功能和性能的ORM。go-queryset : 100%类型安全的ORM,能够基于GORM进行代码生成和支持MySQL、PostgreSQL、Sqlite3、SQL Server等数据库go-sql : 简单的mysql ORM。go-sqlbuilder : 灵活而强大的SQL字符串构建库,加上一个零配置的ORM。go-store : -简单快速的基于Redis 的键值对存储库GORM : 超棒的Go 语言ORM 库,对开发者非常友好gormt : Mysql数据库到Golang 结构体的orm库。gorp :Go的ORM类库。grimoire : Grimoire是golang的数据库访问层和验证层。(支持:MySQL, PostgreSQL 和SQLite3)。lore : 适用于Go的简单轻量级的伪ORM/伪结构映射环境,。marlow : 从项目结构生成ORM,以保证编译时的安全。pop/soda : 支持MySQL, PostgreSQL, 以及SQLite.的数据库迁移、创建、ORM 的工具,QBS : 利用结构体进行标准查询,是一个Go语言ORMreform : 基于非空接口和代码生成的优秀的ORM,rel :Golang的现代数据库访问层 – 可测试、可扩展,并支持生成简洁优雅的API。SQLBoiler :ORM 生成器。为你的数据库表单生成一个功能全面、快速的ORMupper.io/db : – 通过使用封装了成熟的数据库驱动的适配器,来使用单一接口与不同的数据源进行交互XORM : 简单、强大的Go 语言ormZoom : 基于Redis 构建的超快的数据存储于查询引擎。Go语言包管理
go modules : go module是最新的go语言版本管理工具。go module具有支持包引入记录和其他模块的依赖构建功能。dep : Go 语言依赖工具.vgo : 用于包和依赖管理的非官方库。gigo : 类似PIP的依赖管理工具。支持私有仓库和哈希glide : 轻松管理你的GO 语言包发布者以及发布包。 受到类似Maven, Bundler 和Pip这些工具的的启发godep : Go 语言依赖工具,Godep可以帮助开发者修复库的依赖关系gom : Go Managergoop : 简单的依赖管理工具,受到Bundler的启发gop : 通过GOPATH 构建和管理你的Go 应用程序。gopm : Go 包管理器govendor : Go 包管理器。Go语言vendor 工具,兼容标准vendor文件gpm : Go语言包管理工具johnny-deps : 使用Git 的最小依赖版本。modgv : 将go mod graph输出转换为Graphviz的DOT 语言。mvn-golang : 提供自动加载Golang SDK、依赖管理和在Maven项目基础架构中启动构建环境的方法的插件。nut : Vendor Go的依赖关系。VenGO : 创建和管理可导出的隔离的Go虚拟环境。 绩效jaeger : 分布式跟踪系统。pixie : 通过eBPF 对Golang应用程序进行无工具追踪。profile : Go 的简单剖析支持包。statsviz : 实时可视化你的Go应用程序运行时的统计数据。tracer : 简单、轻量级的代码追踪库。查询语
api-fu :GraphQL的go语言实现。dasel : 基于命令行的选择器查询和更新数据结构。类似于jq/yq,但支持JSON、YAML、TOML和XML。gojsonq : 用于查询JSON数据的Go包graphql : graphql解析器和实用工具graphql : 专注于易用性的GraphQL 服务器graphql-go : 为Go语言实现的GraphQLgws : Apollos的GraphQL over Websocket客户端和服务器实现。jsonql : JSON查询表达式库jsonslice : 具有高级过滤器的Json路径查询。rql : REST API的资源查询语言。rqp : REST API的查询分析器。在查询中直接支持过滤、验证、AND、OR操作。straf : – 轻松地将Golang结构转换为GraphQL对象。资源嵌入
esc : – 在Go语言程序中嵌入文件并为其提供HTTP.FileSystem 接口fileb0x : 用于在Go语言程序中嵌入文件的工具,专注于可定制化和易用性go-embed : 生成用于嵌入资源文件到库或可执行文件的 Go 语言代码go-resources : 简洁的Go 语言资源嵌入工具go.rice :Go.rice是一个让你轻松使用html,js,css,图片以及模板这类资源的库mule : 将外部资源如图片、电影..嵌入到Go源代码中,使用go generate创建单文件二进制文件,专注于简单性。packr : 将静态文件嵌入Go二进制文件的简单方法。statics : 将静态资源嵌入到Go 文件中,用于单独二进制编译+使用http.FileSystem + symlinks.statik : 将静态文件嵌入到Go 语言可执行文件中templify : 将外部目标文件嵌入到Go 代码中来创建单独的二进制文件vfsgen : 生成一个vfsdata.Go文件,静态实现了一个虚拟文件系统数据分析与数据科学
assocentity :单词到给定实体的平均距离计算包。bradleyterry : 成对比较提供一个布拉德利-特里模型。calendarheatmap : 受Github contribution的启发,为普通Go语言包提供的日历热图。chart : Go的简单图表绘制库,支持多种图形类型。dataframe-go : 用于机器学习和统计的数据框类似于pandasdecimal : 包decimal实现了任意精度的十进制浮点运算。evaler : 简单的浮点算术表达式评估器。ewma : 指数加权移动平均数。geom : golang的几何处理库。go-dsp : 数字信号处理go-gt : 图论算法goent : 熵测量的GO实现gohistogram : 数据流的近似直方图gonum : 用于Go 编程语言的数值库。它包含了矩阵、统计、优化等方面的库。gonum/plot : Gonum/plot提供了用于创建和绘制图表的APIgoraph : 纯Go语言编写的图论库(数据结构,算法可视化)gosl : 用于线性代数、FFT、几何学、NURBS、数值方法、概率、优化、微分方程等的Go 科学库。GoStats : GoStats 是一个开源的GoLang 库,主要用于机器学习领域的数学统计,它涵盖了大部分的统计测量函数。graph : 基本图形算法库。ode : 普通微分方程 (ODE) 求解器。支持扩展状态及基于通道的迭代算法终止条件orb : 支持剪裁、GeoJSON 和Mapbox Vector Tile的2D 几何类型。pagerank :Go语言实现的加权网页排名PageRank算法piecewiselinear : 小型线性插值库。PiHex : 贝利-波尔温-普劳夫公式”Bailey-Borwein-Plouffe”)`算法的实现,用于计算十六进制πrootfinding : 用于查找二次函数根的寻根算法库stats : 统计库,包含一些Go 语言标准库中漏掉的常用函数streamtools : 通用图形化工具,用于处理流数据TextRank :Golang中的TextRank 实现,具有可扩展的特性(摘要、加权、短语提取)和多线程(goroutine)支持。triangolatte : 2D三角测量库。允许将线条和多边形(基于点)翻译成GPU语言。安全领域相关库
acmetool :ACME (Lets Encrypt) 客户端工具,支持自动续期.acra : 用于保护基于数据库的应用程序的网络加密代理,用于防止数据泄露、SQL注入等。argon2-hashing :Go 的argon2 包的封装,与Go 的标准库Bcrypt 和simple-scrypt 包相对应argon2pw : 具有恒定时间密码比较功能的argon2 密码散列生成库autocert : 自动提供Lets Encrypt 证书并启动TLS服务器。BadActor : 受fail2ban 的启发驻留在内存中的应用驱动监控程序,Cameradar : 用于远程入侵监控摄像头的RTSP流的工具库。certificates : 用于生成tls证书的工具库。firewalld-rest : 用于动态更新linux服务器上的firewalld规则的定时程序。go-generate-password : 密码生成器,可以作为客户端使用或者作为代码库使用。go-password-validator : 用于原始加密熵值的密码验证器。go-yara :Go Bindings for YARA 恶意软件研究人员(以及其他所有人)的模式匹配瑞士刀”。goArgonPass : Argon2密码散列和验证,旨在与现有的Python和PHP实现兼容。goSecretBoxPassword : 用于安全地散列和加密密码的go语言包。Interpol : 用于模糊和渗透测试的基于规则的数据生成器,。lego : 纯Go语言开发的ACME 客户端库及命令行工具memguard : 用于处理内存中敏感数据的Go 语言库nacl : NaCL系列API 的Go 实现optimus-go : 使用Knuth算法进行ID哈希和混淆。passlib : 密码哈希库secure : 为 Go 提供了一些安全功能HTTP 中间件,secureio : 基于XChaCha20-poly1305、ECDH和ED25519的io.ReadWriteCloser的密钥交换+认证+加密封装器和复用器simple-scrypt : Scrypt库,具有简单、易懂的API,同时具有内置的自动校准功能ssh-vault : 利用ssh 秘钥加解密 。sslmgr : 通过对acme/autocert的高级封装,使SSL证书的使用变得简单。themis : 高级加密库,用于解决典型的数据安全任务(安全数据存储、安全消息传递、零知识证明认证),提供14种语言,最适合多平台应用。分享、点赞和在看
支持我们分享更多好文章,谢谢!