内容
- Awesome Go
- 内容
- 音频和音乐
- 身份验证和OAuth
- 区块链
- Bot建设
- 构建自动化
- 命令行
- 配置
- 持续集成
- CSS预处理器
- 数据结构与算法
- 数据库
- 数据库驱动程序
- 日期和时间
- 分布式系统
- 动态域名
- 电子邮件
- 可嵌入的脚本语言
- 错误处理
- 文件处理
- 金融
- 表单
- 方法
- 游戏开发
- 发电机
- 地理
- Go 编译器
- Goroutines
- GUI
- 硬件
- 图片
- IoT (Internet of Things)
- 作业调度器
- JSON
- 日志记录
- 机器学习
- 消息
- 微软办公软件
- 杂项
- 自然语言处理
- 网络
- OpenGL
- ORM
- 包管理
- 性能
- 查询语言
- 嵌入的资源
- 科学与数据分析
- 安全
- 序列化
- 服务器应用程序
- 流处理
- 模板引擎
- 测试
- 文本处理
- Third-party APIs
- 公用事业公司
- UUID
- 验证
- 版本控制
- 视频
- Web框架
- WebAssembly
- Windows
- XML
- 零信任
- 代码分析
- 编辑器插件
- Go 生成工具
- Go 工具
- 软件包
- 资源
音频和音乐
用于操作音频的库。 (翻译出错了? 试试 英文版 吧~)
- Oto star:997 多平台的 low-level 声音播放库。
- PortAudio star:505 基于 Go 的PortAudio audio I/O库。
- music-theory star:398 基于 Go 的音乐理论模型。
- id3v2 star:245 ID3解码和编码库为Go。
- GoAudio star:222 本地Go音频处理库。
- flac star:209 原生 Go FLAC编码器/解码器,支持FLAC流。
- malgo star:173 迷你音频库。
- gaad star:99 原生 Go AAC位流解析器。
- minimp3 star:79 轻量级MP3解码器库。
- gosamplerate star:17 libsamplerate 的 Go 语言实现接口。
身份验证和OAuth
用于实现验证方案的库。 (翻译出错了? 试试 英文版 吧~)
- casbin star:11992 支持ACL、RBAC、ABAC等访问控制模型的授权库。
- oauth2 star:4173 goauth2的继任者。通用OAuth 2.0包,附带JWT、谷歌api、计算引擎和应用程序引擎支持。
- goth star:3671 提供了 OAuth 和 OAuth2 的简单清晰易用的方法。可开箱即用处理多个提供程序。
- authboss star:3058 web模块化认证系统。它试图删除尽可能多的模板文件和硬编码,以便每次新建一个新的web项目时,您都可以插入、配置并开始构建您的应用程序,而不必每次都构建一个身份验证系统。
- go-jose star:1922 相当完整地实现了JOSE工作组的JSON Web令牌、JSON Web签名和JSON Web加密规范。
- loginsrv star:1859 JWT登录微服务带有可插拔的后端服务,如OAuth2 (Github)、htpasswd、osiam。
- osin star:1732 OAuth2服务器库。
- gologin star:1522 用于使用OAuth1和OAuth2身份验证提供者登录的可链处理程序。
- gorbac star:1291 轻量级的基于角色的访问控制(RBAC)实现。
- scs star:1116 HTTP服务器的会话管理器。
- paseto star:599 平台无关的安全令牌(PASETO)。
- jwt star:543 安全、简单、快速的JSON Web令牌。
- permissions2 star:456 用于跟踪用户、登录状态和权限的库。依赖于cookie安全和bcrypt。
- go-guardian star:367 Go-Guardian是一个golang库,它提供了一种简单、干净和习惯的方式来创建强大的现代API和web身份验证,支持LDAP、Basic、承载令牌和基于证书的身份验证。
- jwt star:285 轻量级JSON Web令牌库。
- jeff star:238 简单、灵活、安全和惯用的web会话管理,具有可配置化的后端。
- jwt-auth star:216 JWT中间件,可用于Golang http服务器,提供了许多配置选项。
- otpgen star:120 库生成TOTP/HOTP代码。
- sessionup star:115 简单但有效的HTTP会话管理和标识包。
- session star:107 web服务器会话管理(包括支持谷歌应用程序引擎 - GAE)。
- sjwt star:98 简单的jwt生成器和解析器。
- rbac star:97 最小的RBAC包。
- sessions star:65 非常简单,高性能,可深度定制的会话服务,主要用于的 go http 服务器。
- securecookie star:57 高效安全的cookie编码/解码。
- go-email-normalizer star:43 Golang库,用于提供电子邮件地址的规范表示。
- branca star:35 branca token规范实现用于Golang 1.15+。
- otpgo star:34 基于时间的一次性密码(TOTP)和基于hmac的一次性密码(HOTP)库用于Go。
- scope star:21 在Go中轻松管理OAuth2范围。
- cookiestxt star:12 提供cookie .txt文件格式的解析器。
区块链
构建区块链的工具。 (翻译出错了? 试试 英文版 吧~)
- go-ethereum star:37579 以太坊协议的官方Go实现。
- tendermint star:4941 一个高性能中间件,可将任何语言的状态机转换为 Byzantine Fault 状态机。使用 Tendermint 一致性及区块链协议。
- cosmos-sdk star:4005 在宇宙生态系统中构建公共区块链框架。
- gossamer star:330 Polkadot主机的Go实现。
- solana-go star:302 去库与Solana JSON RPC和WebSocket接口接口。
Bot建设
用于构建和使用机器人的库。 (翻译出错了? 试试 英文版 吧~)
- telegram-bot-api star:3692 简单轻量级的Telegram bot客户端。
- olivia star:3234 用人工神经网络建造的聊天机器人。
- telebot star:2568 用Go编写的Telegram bot框架。
- Kelp star:890 官方交易和做市机器人为Stellar DEX。开箱即用的作品,用 Golang 编写,兼容集中交易和定制交易策略。
- Golang CryptoTrading Bot star:771 基于控制台的,用于加密货币交易所的的交易机器人。
- go-chat-bot star:742 用 Go 编写的IRC, Slack和电报机器人。
- go-joe 一个通用的机器人库的灵感来自于Hubot。
- slacker star:601 可简单创建Slack机器人的框架。
- tbot star:323 带有类似于net/http API的Telegram bot服务器。
- wayback star:277 A bot for Telegram, Mastodon, Slack, and other messaging platforms archives webpages.
- go-sarah star:241 此框架提供了聊天机器人相关的服务,包括LINE、Slack、Gitter等。
- go-twitch-irc star:231 为twitch写机器人的库。电视聊天
- Tenyks star:172 面向服务的IRC bot,使用Redis和JSON进行消息传递。
- hanu star:137 用于编写Slack机器人的框架。
- echotron star:116 一个优雅的并发库Telegram Bots in Go。
- go-tgbot star:111 由swagger文件、基于会话的路由器和中间件生成的纯Golang Telegram Bot API包装器。
- slack-bot star:95 为懒惰的开发者准备好使用Slack Bot:自定义命令,Jenkins, Jira, Bitbucket, Github…
- margelet star:72 构建电报机器人的框架。
- ephemeral-roles star:62 用于管理基于语音通道成员存在的临时角色的不和机器人。
- larry star:60 拉里🐦是一个很简单的推特机器人生成器,tweet随机从Github库建在走。
- slackscot star:51 另一个构建Slack机器人的框架。
- govkbot star:39 简单的Go VK bot库。
- telego star:30 goang的Telegram Bot API库,完全一对一的API实现。
- micha star:19 基于 GO 实现的Telegram 机器人API库。
- teleterm star:9 Telegram Bot执行终端命令。
构建自动化
帮助构建自动化的库和工具。 (翻译出错了? 试试 英文版 吧~)
- Task star:5163 简单的“Go”的选择。
- realize star:4235 Go 语言构建系统,可以监控文件变化并重新加载。运行,构建,监控文件并支持自定义路径。
- mage star:3021 法师是一个使用Go制作/耙子类的构建工具。
- mmake star:1603 现代 Make 工具
- goyek star:286 在Go中创建构建管道。
- taskctl star:189 并发任务跑。
- 1build star:159 命令行工具,以无摩擦地管理项目特定的命令。
- gaper star:55 当Go项目崩溃或一些人看到文件更改时,构建并重新启动该项目。
- gilbert 一个为 Go 项目而生的构建系统和任务运行器。
- anko star:25 适用于多种编程语言的简单应用程序监视程序。
命令行
高级控制台用户界面
用于构建控制台应用程序和控制台用户界面的库。 (翻译出错了? 试试 英文版 吧~)
- termui star:11823 此库是基于termbox-go实现的,借鉴于blessed-contrib。
- gocui star:8192 旨在创建控制台用户界面的极简Go库。
- gommon/color 更换终端文本样式。
- go-prompt star:4490 构建一个强大的交互式提示,借鉴于python-prompt-toolkit
- termbox-go star:4329 基于文本的跨平台接口库。
- pterm star:2605 一个在每个平台上使用许多可组合组件美化控制台输出的库。
- progressbar star:2475 基本线程安全的进度条,在每个操作系统工作。
- termdash star:1980 此库是基于termbox-go实现的,借鉴于termui。
- asciigraph star:1937 在命令行中构建轻量级ASCII线图╭┈╯,应用程序中没有其他依赖项。
- uiprogress star:1910 在终端呈现进度条,可灵活配置的。
- spinner star:1786 一个 Go 语言软件包,提供多种选项,方便在终端中创建加载动画。
- mpb star:1679 可在终端显示多进度条。
- uilive star:1451 用于实时更新终端输出的库。
- aurora star:1196 支持fmt.Printf/Sprintf的ANSI终端颜色。
- gookit/color star:1103 终端显色工具库,支持16种颜色,256种颜色,RGB显色输出,兼容Windows。
- termenv star:1062 先进的ANSI风格和颜色支持您的终端应用程序。
- uitable star:648 改善终端应用程序中表格数据的可读性。
- go-isatty star:618 Go 实现的 isatty。
- go-colorable star:611 适用于windows的颜色编写器。
- chalk star:398 美化终端/控制台输出。
- simpletable star:355 可在终端显示简易表格。
- yacspin star:339 用于与终端旋转器一起工作。
- tabby star:317 一个可在终端生成一个极简Golang表格轻量级库
- go-colortext star:210 在终端中使用彩色文字。
- box-cli-maker star:204 为你的CLI制作高度定制的盒子。
- cfmt star:84 提供上下文的fmt,灵感来自于bootstrap color classes。
- tabular star:63 不需要向API传递大量参数就可从命令行实用程序中打印ASCII表。
- cfmt star:41 简单和方便格式化格式化输出完全兼容fmt库。
- ctc star:37 不需要Print方法的非侵入性跨平台终端颜色库。
- marker star:27 最简单的方法来匹配和标记字符串的彩色终端输出。
- table star:26 为基于终端颜色的表的小库。
- colourize star:25 在终端提供ANSI彩色文本。
- go-ataman star:11 在终端提供ANSI彩色文本模板。
标准CLI
用于构建标准或基本命令行应用程序的库。 (翻译出错了? 试试 英文版 吧~)
- cobra star:26795 现代Go CLI命令行交互工具。
- urfave/cli star:18384 可让你简单、快速和愉快的构建命令行应用(之前是codegangsta/cli)。
- elvish star:4748 一种表达性编程语言和通用的交互外壳。
- kingpin star:3226 支持子命令的命令行和标志解析器(被' kong '取代;见下文)。
- Dnote star:2303 一个简单的命令行笔记本与多设备同步。
- go-flags star:2230 Go 命令行选项解析器。
- pflag star:1801 基于POSIX/GNU-style --flags实现的包,主要用于替换Go的falg包。
- mitchellh/cli star:1529 用于实现命令行接口的Go库。
- go-arg star:1391 基于结构的参数解析。
- ops star:976 Unikernel 构建器/协调器。
- liner star:894 类似readline-like的命令行接口库。
- complete star:833 使用 Go 语言编写的 bash 命令补全工具以及 Go 命令补全工具.
- mow.cli star:802 用于构建具有复杂标志和参数解析和验证的CLI应用程序。
- flaggy star:796 一个健壮的、易用的标志包,具有出色的子命令支持。
- cli star:652 基于golang结构标签,功能丰富易于使用的命令行包。
- argparse star:425 命令行参数分析器,灵感来自Python的argparse模块。
- climax star:197 Alternative CLI with "human face", in spirit of Go command.
- wmenu star:161 为cli程序提供了简单上手的菜单,可提示用户作出选择。
- commandeer star:156 开发友好的CLI应用程序。
- sflags star:136 基于结构的flag生成器,用于flag、urfave/cli、pflag、cobra、kingpin和其他库。
- flag star:120 简单但功能强大的命令行选项解析库,用于支持Go子命令。
- ukautz/clif star:113 简小的命令行接口框架。
- job star:112 工作,把你的短期指令当作长期任务。
- clîr star:110 一个简单而清晰的CLI库。依赖免费的。
- cli star:108 为 Go 构建命令接口提供简单而完整的API。
- cmdr star:106 一个POSIX/GNU风格的、类似getopt的命令行UI Go库。
- env star:90 基于标记的结构化的环境配置。
- gocmd star:58 用于构建命令行应用程序。
- hiboot cli 具有自动配置和依赖注入的cli应用程序框架。
- wlog star:57 支持跨平台和并发的简单日志记录接口。
- carapace-bin star:51 多shell多命令参数完成器。
- acmd star:47 简单,有用和固执己见的CLI包。
- strumt star:46 用于创建提示链。
- go-getoptions star:41 Go 选择解析器,借鉴于Perl灵活性的GetOpt::Long。
- carapace star:38 用于spf13/cobra的命令参数补全生成器。
- flagvar star:38 符合 Go 标准的“flag”标志参数类型包。
- argv star:33 基于Base 语法,用于分隔命令行字符串并将其作为参数的 Go 语言库,
- cmd star:33 扩展标准的' flag '包以支持子命令和更多惯用方式。
- go-commander star:28 用于简化CLI工作流的 Go 库。
- command-chain star:24 一个用于配置和运行命令链的go库——比如unix shell中的管道。
- sand star:18 用于创建解释器等的简单API。
- go-andotp star:15 一个CLI程序加密/解密andOTP文件。也可以用作图书馆。
- ts star:13 时间戳转换和比较工具。
- carapace-spec star:2 Define simple completions using a spec file.
- subcmd star:2 解析和运行子命令的另一种方法。与标准的“旗帜”包一起工作。
配置
配置解析的库。 (翻译出错了? 试试 英文版 吧~)
- viper star:19368 配置管理。
- godotenv star:4935 Ruby 的 dotenv 库的 Go移植版(从.env文件加载环境变量)。
- kelseyhightower/envconfig star:4123 管理来自环境变量的配置数据。
- ini star:2961 读和写INI文件。
- env star:2489 解析环境变量并赋值到struct中(默认值)。
- koanf star:990 轻量级可扩展库,用于读取Go应用程序中的配置。内置支持JSON, TOML, YAML, env,命令行。
- kong star:951 命令行解析器,支持任意复杂的命令行结构和其他配置源,如YAML、JSON、TOML等(' kingpin '的后继)。
- konfig star:627 可组合、可观察和高性能的分布式配置管理。
- cleanenv star:583 简约的配置阅读器(来自文件、环境,以及你想要的任何地方)。
- confita star:442 从多个后端级联加载配置到struct中。
- aconfig star:368 简单,有用和固执的配置加载程序。
- gookit/config star:346 程序配置管理(load,get,set)。支持JSON, YAML, TOML, INI, HCL。支持多文件加载,数据覆盖合并。
- config star:309 云本地应用程序配置。将ENV绑定到结构体仅需两行代码。
- GoLobby/Config star:279 GoLobby Config is a lightweight yet powerful configuration manager for the Go programming language.
- gone/jconf 模块化的JSON配置。保持配置结构及其配置的代码,并将解析委托给子模块,而不牺牲配置的完整序列化。
- hjson star:265 更加人性化的JSON配置。轻松的语法,更少的错误,更多的注释。
- store star:260 轻量级配置管理器。
- config star:250 带有环境变量和标记解析的JSON或YAML配置包装器。
- envconfig star:222 从环境变量中读取配置。
- xdg star:218 Go实现XDG基本目录规范和XDG用户目录。
- joshbetz/config star:210 一个可解析环境变量、JSON文件小巧的配置库,在SIGHUP时会自动重新加载。
- fig star:206 用于从文件和环境变量(带有验证和默认值)中读取配置的微型库。
- gcfg star:161 将ini的配置文件读入 Go structs中;支持用户定义的类型和子选项。
- goConfig star:155 将结构体解析为输入,并用来自命令行、环境变量和配置文件的参数填充该结构体的字段。
- harvester star:104 一个易于使用的静态和动态配置包
- onion star:102 基于层配置的Go,支持JSON, TOML, YAML,属性,etcd, env,和加密使用PGP。
- envcfg star:98 对环境变量进行解析,并赋值到struct。
- envh star:95 协助管理环境变量的Helpers。
- configuro star:81 固执己见的配置加载和验证框架从环境和文件集中到12因素兼容的应用程序。
- xdg star:68 遵循XDG标准的跨平台包。
- gofigure star:64 让程序配置变得简单。
- configuration star:56 库,用于从环境变量、文件、标记和“默认”标记初始化配置结构。
- configure star:56 通过多个源提供配置,包括JSON、flags和环境变量。
- go-aws-ssm star:49 从AWS系统管理器-参数存储中获取参数的Go包。
- uConfig star:45 轻量级、零依赖和可扩展的配置管理。
- hocon star:42 使用HOCON(一种人类友好的JSON超集)格式的配置库,支持环境变量、引用其他值、注释和多个文件等特性。
- go-up star:37 一个简单的配置库,具有递归占位符解析功能。
- ingo star:37 flag保存在类ini的配置文件中。
- mini star:30 用于解析ini类型的配置文件。
- genv star:28 使用dotenv支持轻松读取环境变量。
- conflate star:25 合并来自任意url的多个JSON/YAML/TOML文件、针对JSON模式的验证以及模式中定义的默认值的应用程序。
- env star:20 用于将环境变量加载到结构中的轻量级包。
- go-ssm-config star:14 从AWS SSM(参数存储)加载配置参数的Go实用程序。
- envconf star:10 从环境配置中读取配置。
- ini star:9 INI Parser & Write Library, Unmarshal to Struct,Marshal to Json,Write File,watch File。
- go-ini star:8 一个对ini文件进行封送和解送的Go包。
- nasermirzaei89/env star:8 读取环境变量的简单有用的包。
- nfigure Per-library struct-tag based configuration from command lines (Posix & Go-style); environment, JSON, YAML
- swap star:6 根据构建环境递归实例化/配置结构。(YAML, TOML, JSON和env)。
- typenv star:6 简约,零依赖,类型化环境变量库。
- go-conf star:4 用于基于注释结构的应用程序配置的简单库。它支持从环境变量、配置文件和命令行参数读取配置。
- piper star:4 带有配置继承和密钥生成的Viper包装器。
- gonfig star:3 基于标记的配置解析器,它将来自不同提供程序的值加载到类型安全结构中。
持续集成
用于帮助进行持续集成的工具。 (翻译出错了? 试试 英文版 吧~)
- drone star:25060 Drone 是一个基于 Docker 的持续集成平台,用 Go 编写。
- CDS star:3859 企业级CI/CD和DevOps自动化开源平台。
- goveralls star:722 Coveralls.io 是一个用 Go 编写,可持续对代码覆盖率进行检测的系统。
- gotestfmt star:211 为人类测试输出。
- overalls star:109 针对多package 的 Go 语言项目,可为类似 goveralls 这样的工具生成覆盖率报告。
- duci star:73 一个简单的 ci 服务。
- gomason star:53 在一个干净的工作区中对你的 Go 二进制文件进行测试、构建、签名和发布。
- roveralls star:16 递归覆盖测试工具。
CSS预处理器
用于预处理CSS文件的库。 (翻译出错了? 试试 英文版 吧~)
- gcss star:453 纯Go编写的 CSS 预处理器。
- go-libsass star:187 采用 Go封装,100% 与 Sass 兼容的 libsass 项目。
数据结构与算法
Bit-packing和压缩
- roaring star:1633 实现了压缩 bitsets 的Go包。
- binpacker star:187 帮助用户构建自定义二进制流的二进制封装器和解包器
- bit star:120 Go 语言集合数据结构。提供了额外的位操作功能。
- crunch star:58 打包实现缓冲区,以便轻松处理各种数据类型。
- go-ef star:20 实现了 Elias-Fano 编码。
- bingo star:7 将本地类型快速、零分配、保持字典顺序的字节打包。
位集合
布隆和布谷鸟过滤器
- bloom star:1569 实现Bloom过滤器。
- boomfilters star:1451 用于处理连续的概率数据结构。
- cuckoofilter star:902 布谷鸟过滤器:一个用Go实现,可替代计数 bloom 过滤器。
- cuckoo-filter star:218 布谷鸟滤波器:一种综合布谷鸟滤波器,与其他实现相比,具有可配置性和空间优化性,原论文中提到的所有特性均可获得。
- bloom star:146 在Go中实现了Bloom过滤器。
- ring star:126 高性能、线程安全的bloom过滤器。
- bloom star:72 Golang Bloom过滤器的实现。
- bloomfilter star:9 另一个在Go中的Bloomfilter实现,与Java的番石榴库兼容。
数据结构和算法集合
- gods star:11542 数据结构。容器、集合、列表、堆栈、地图、BidiMaps、树、HashSet等。
- go-datastructures star:6498 可靠的、高性能的和线程安全的数据结构的集合。
- gostl star:654 用于go的数据结构和算法库,旨在提供类似c++ STL的函数。
- algorithms star:643 算法和数据结构。来源于CLRS。
迭代器
地图
See also Database for more complex key-value stores, and Trees for additional ordered map implementations.
- cmap star:25 一个线程安全的go map
- dict star:24 实现类似 python dict的功能(dict)。
- goradd/maps star:2 Go 1.18+ generic map interface for maps; safe maps; ordered maps; ordered, safe maps; etc.
杂项数据结构和算法
- gota star:2187 实现了数据帧,序列以及数据噪音。
- hyperloglog star:776 HyperLogLog implementation with Sparse, LogLog-Beta bias correction and TailCut space reduction.
- go-geoindex star:340 基于内存的地理索引。
- hilbert star:250 用于映射空间填充曲线(例如 Hilbert 曲线和 Peano 曲线)和数值。
- go-rquad star:120 区域四叉树具有高效的点定位和邻域查找功能。
- conjungo star:104 一个小型、强大和灵活的合并库。
- go-rampart star:78 Determine how intervals relate to each other.
- count-min-log star:57 Go实现Count-Min-log sketch的功能 : 使用近似计数器进行近似计数(类似Count-Min sketch,但使用更少内存)。
- hide star:46 ID type with marshalling to/from hash to prevent sending IDs to clients.
- concurrent-writer star:43 具备高并发能力,可替换 bufio.Writer。
- go-tuple star:24 Go 1.18+的通用元组实现。
- fsm star:19 有限状态机包。
- gofal star:13 基于 Go 实现的分数计算。包含分子、分母运算
- go18ds star:12 Go Data Structures using Go 1.18 generics.
- genfuncs star:9 Go 1.18+ generics package inspired by Kotlin's Sequence and Map.
- slices star:7 对片进行操作的函数;类似于“包字符串”,但适用于使用片。
- slices star:3 Pure, generic functions for slices.
可空类型
- nan star:51 一个库中的可零分配空结构,具有方便的转换函数、编组器和解组器。
- typ star:32 从复杂结构中获取值,支持空类型、安全的类型转换。
- null star:25 对空的 Go 数据类型也可以进行JSON进行解析/反解析。
队列
- deque star:333 快速环缓冲区deque(双端队列)。
- goconcurrentqueue star:185 并行FIFO队列。
- memlog star:51 受Apache Kafka启发,一个易于使用、轻量级、线程安全、只追加内存数据结构。
- deque star:42 高度优化的双端队列。
集
- golang-set star:2458 线程安全和非线程安全的高性能集。
- goset star:46 一个有用的Go集合实现。
- set star:21 使用LinkedHashMap在Go中实现简单的set数据结构。
- dsu star:6 在Go中实现离散集数据结构。
文本分析
- bleve star:8406 基于 Go 的现代文本索引库。
- trie star:587 在Go中实现Trie。
- go-edlib star:323 Go字符串比较和编辑距离算法库(Levenshtein, LCS, Hamming, Damerau Levenshtein, Jaro-Winkler等)兼容Unicode。
- go-adaptive-radix-tree star:233 自适应基数树。
- levenshtein star:199 实现在Go中计算levenshtein距离。
- levenshtein star:68 Levenshtein distance and similarity metrics with customizable edit costs and Winkler-like bonus for common prefix.
- ptrie star:25 前缀树的一种实现。
- mspm star:17 用于信息检索的多字符串模式匹配算法。
- parsefields star:6 用于解析类似json的日志的工具,用于收集惟一的字段和事件。
树
- hashsplit 将字节流分割成块,并将块排列成树,边界由内容而不是位置决定。
- skiplist star:207 高性能的 Go 跳表实现。
- skiplist star:79 在Go中实现了跳表。
- treemap star:19 在底层使用红黑树的通用键排序地图。
- treap star:18 使用树堆进行持久、快速有序的映射。
- merkle star:2 默克尔根哈希的空间高效计算和包含证明。
管道
- pipeline star:39 实现了 fan-in 和 fan-out 的管道功能。
- parapipe star:18 FIFO管道,并行执行在每个阶段,同时保持消息和结果的顺序。
- ordered-concurrently star:15 Go模块,处理并发工作,并在通道中返回输入顺序的输出。
数据库
缓存
具有过期记录的数据存储、内存中的分布式数据存储或基于文件的数据库的内存子集。 (翻译出错了? 试试 英文版 吧~)
- groupcache star:11420 Groupcache是一个缓存和缓存填充库,在许多情况下,它是memcached的替代品。
- BigCache star:5698 高效的键/值缓存为千兆字节的数据。
- GCache star:1931 支持过期缓存、LFU、LRU和ARC的缓存库。
- cache2go star:1755 基于内存的 K/V 缓存,支持超时的自动失效。
- fastcache star:1468 基于内存的快速线程安全的缓存,可缓存大量的条目。最大限度地减少GC开销。
- gocache star:1256 一个完整的Go缓存库,具有多个存储(内存,memcache, redis,…),可链,可加载,指标缓存和更多。
- ttlcache star:417 具有项目过期和泛型的内存缓存。
- cachego star:168 基于多个驱动程序的缓存组件。
- remember-go star:113 用于缓存慢速数据库查询的通用接口(支持redis、memcached、ristretto或in-memory)。
- cache star:107 基于内存的 K/V 存储:带生命周期的值存储,0个依赖项,<100 LoC, 100%覆盖率。
- bcache star:86 基于内存的最终一致的分布式缓存。
- go-mcache star:82 基于内存的实现了高性能的key:value存储库。指针缓存。
- couchcache star:57 由 Couchbase服务 支持的RESTful缓存微服务。
- timedmap star:42 实现了有生命周期的键值对Map。
- clusteredBigCache star:41 BigCache 支持集群和独立且生命周期存储项。
- 2q star:10 2Q内存缓存实现。
- gdcache star:9 一个由golang实现的纯非侵入式缓存库,您可以使用它来实现您自己的分布式缓存。
- ttlcache star:5 内存键值存储与TTL为每个记录。
Go中实现的数据库
- prometheus star:42673 用于监控系统和时序的数据库。
- tidb star:31417 TiDB是一个分布式SQL数据库。灵感来自谷歌F1的设计。
- cockroach star:24684 可伸缩、区域备份、事务性数据存储。
- influxdb star:23546 可伸缩的数据存储,用于指标衡量、事件和实时分析。
- dgraph star:18068 可伸缩、分布式、低延迟、高吞吐量的图形数据库。
- badger star:10877 快速 K/V 存储。
- rqlite star:10458 基于SQLite的轻量级分布式关系数据库。
- Milvus star:10438 Milvus是一个矢量数据库,用于嵌入管理、分析和搜索。
- immudb star:7565 immudb是一个轻量级、高速、不可变的数据库,用于用Go编写的系统和应用程序。
- VictoriaMetrics star:6452 开源,快速,可伸缩的时间序列数据库。支持PromQL。
- bbolt star:5571 一个用于Go的嵌入式键/值数据库。
- Bitcask Bitcask是一个可嵌入的、持久的、快速的键值(KV)数据库,使用纯Go编写,具有可预测的读写性能、低延迟和高吞吐量,这得益于Bitcask的磁盘布局(LSM+WAL)。
- goleveldb star:5147 在Go中实现LevelDB key/value数据库。
- ledisdb star:3857 Ledisdb是一种高性能的NoSQL,类似于基于LevelDB的Redis。
- buntdb star:3762 基于内存的K/V,快速,可嵌入的数据库,可自定义索引和空间支持。
- rosedb star:2818 基于LSM+WAL的嵌入式k-v数据库,支持string、list、hash、set、zset。
- tiedot star:2674 属于你的NoSQL数据库。
- nutsdb star:2167 Nutsdb是一个用纯Go编写的简单、快速、可嵌入、持久的键/值存储。它支持完全序列化的事务和许多数据结构,如列表、集合、排序集。
- godis star:1890 一个Golang实现了高性能Redis服务器和集群。
- CovenantSQL star:1319 区块链领域的一个SQL数据库。
- diskv star:1167 支持磁盘备份的可持久化 K/V 存储。
- Databunker star:982 个人身份信息(PII)存储服务符合GDPR和CCPA。
- column star:928 高性能、柱状、可嵌入的内存存储,具有位图索引和事务。
- eliasdb star:911 无其他依赖项,支持REST API,短语搜索和sql类似的查询语言的事务图数据库。
- pogreb star:898 针对大量读取工作负载的嵌入式键值存储。
- moss star:867 Moss是一个用100% Go编写的简单LSM键值存储引擎。
- lotusdb star:817 快速k/v数据库兼容lsm和b+树。
- levigo star:404 实现了对LevelDB封装。
- pudge star:318 使用Go的标准库编写的快捷、简单的键/值存储。
- dtf star:245 分布式事务管理器。支持XA, TCC, SAGA,可靠消息。
- Vasto star:237 分布式高性能键值存储。可做磁盘备份。最终一致。高可用。能够在不中断服务的情况下增长或收缩。
- piladb star:194 基于堆栈数据结构的轻量级RESTful数据库引擎。
- clover star:190 一个轻量级的面向文档的NoSQL数据库编写纯Golang。
- unitdb star:90 快速timeseries数据库物联网,实时消息传递应用程序。使用pubsub通过tcp或websocket访问unitdb,使用github.com/unit-io/unitd应用程序。
- hare star:57 一个简单的数据库管理系统,将每个表存储为一行分隔的JSON文本文件。
- Coffer star:30 支持事务的简单ACID键值数据库。
- tempdb star:16 用于临时数据存放的 K/V 存储。
数据库模式迁移
- migrate star:8769 基于CLI的数据库迁移库。
- goose star:2650 数据库迁移工具。您可以通过创建增量SQL或Go脚本来管理数据库的升级。
- sql-migrate star:2475 数据库迁移工具。允许使用go-bindata将迁移嵌入到应用程序中。
- atlas star:1614 一个数据库工具箱。旨在帮助企业更好地处理数据的CLI。
- skeema star:1023 用于MySQL的纯sql模式管理系统,支持分片和外部在线模式更改工具。
- soda 数据库迁移、创建、ORM等。用于MySQL、PostgreSQL和SQLite。
- goavro star:800 一个对Avro数据进行编码和解码的Go包。
- godfish 数据库迁移管理器,使用本地查询语言。支持cassandra, mysql, postgres, sqlite3。
- gormigrate star:770 面向Gorm ORM的数据库 schema 迁移辅助程序。
- darwin star:130 用于数据库 schema 升级的库。
- migrator star:127 非常简单的 Go 数据库迁移库。
- go-pg-migrations star:82 用Go -pg/pg编写的迁移包。
- avro star:35 发现SQL schemas并将其转换为AVRO schemas。
- sqlize star:33 数据库迁移生成器。允许生成sql迁移从模型和现有的sql不同。
- pravasan star:28 简易的迁移工具-目前只支持MySQL,但计划很快支持Postgres, SQLite, MongoDB等。
- go-fixtures star:27 类似 Django fixture,用于 Go 建立内置数据库/sql库。
- schema star:22 库,用于将数据库/sql兼容数据库的模式迁移嵌入到Go二进制文件中。
- migrator star:17 MySQL数据库迁移器设计用于运行到您的特性的迁移,并管理数据库模式更新与直观的go代码。
- go-pg-migrate star:7 用于go-pg迁移管理的cli友好包。
- libschema star:3 Define your migrations separately in each libary. Migrations for open source libraries. MySQL & PostgreSQL.
数据库工具
- vitess star:14117 vitess提供了可以为大规模web服务扩展MySQL数据库提供便利的服务和工具。
- pgweb star:7320 基于web的PostgreSQL数据库浏览器。
- kingshard star:6027 kingshard 是基于 Golang 的MySQL高性能代理。
- orchestrator star:4548 MySQL复制拓扑管理器和可视化工具。
- go-mysql-elasticsearch star:3778 自动将MySQL数据同步到Elasticsearch中。
- go-mysql star:3624 Go 工具集,用于处理MySQL协议和复制。
- pREST star:3239 简化和加速开发,⚡即时、实时、高性能在任何Postgres应用,现有的或新的。
- chproxy star:906 ClickHouse数据库的HTTP代理。
- pg_timetable star:694 高级调度为PostgreSQL。
- clickhouse-bulk star:357 收集小的插入,并向ClickHouse服务器发送大的请求。
- myreplication star:185 MySql二进制日志复制监听器。支持基于语句和行的复制。
- octillery star:164 用于数据库分表(支持每个ORM或原生SQL)。
- rdb star:144 Redis RDB文件解析器用于二次开发和内存分析。
- dbbench star:68 数据库基准测试工具,支持多个数据库和脚本。
- datagen star:48 一个快速的数据生成器,支持多表感知和多行DML。
- prep star:31 在不更改代码的情况下使用准备好的SQL语句。
- rwdb star:14 rwdb为多个数据库服务器的设置提供读取副本功能。
- dynago star:2 Simplify working with AWS DynamoDB.
SQL查询生成器
用于构建和使用SQL的库。 (翻译出错了? 试试 英文版 吧~)
- sqlc star:5538 从SQL生成类型安全的代码。
- Squirrel star:4847 帮助您构建SQL查询的Go库。
- xo star:3123 基于现有的schema定义和自定义查询生成 Go 代码,基于支持PostgreSQL、MySQL、SQLite、Oracle和Microsoft SQL Server。
- goqu star:1541 常用的SQL生成器和查询库。
- gendry star:1388 非入侵的SQL构建器和强大的数据绑定器。
- jet star:713 用于在Go中编写类型安全的SQL查询的框架,能够轻松地将数据库查询结果转换为所需的任意对象结构。
- Dotsql star:629 Go library帮助您将sql文件保存在一个地方,并轻松地使用它们。
- ozzo-dbx star:550 Powerful data retrieval methods as well as DB-agnostic query building capabilities.
- dbq star:341 Zero boilerplate database operations for Go
- sqlingo star:242 在Go中构建SQL的轻量级DSL。
- sqrl star:241 SQL查询生成器,从Squirrel fork而来,并再此基础上对性能做了优化。
- Squalus Go SQL中间层,能使得执行查询更加容易。
- sq star:159 用于Go的类型安全的SQL生成器和结构映射器。
- igor star:86 PostgreSQL的抽象层,支持高级功能和类似gorm的语法。
- sqlf star:64 快速SQL查询生成器。
- buildsqlx star:61 去数据库查询生成器库的PostgreSQL。
- godbal star:53 数据库抽象层(dbal)。支持SQL builder,轻松获取结果。
- bqb star:36 轻量级和易于学习的查询构建器。
- gosql star:23 支持更好的空值的SQL查询生成器。
- hasql 用于访问多主机SQL数据库安装的库。
- qry star:21 该工具使用原始SQL查询从文件生成常量。
- mpath star:12 MPTT(修改前序树遍历)包的SQL记录-物化路径实现。
- ormlite star:3 包含一些类似orm的特性和sqlite数据库的辅助程序的轻量级包
- sg star:1 A SQL Gen for generating standard SQLs(supports: CRUD) written in Go.
数据库驱动程序
多个后端接口
- cayley star:14199 图形数据库,支持多个后端。
- gokv star:432 可扩展的简单的 K/V 存储(Redis、Consul、etcd、bbolt、BadgerDB、LevelDB、Memcached、DynamoDB、S3、PostgreSQL、MongoDB、CockroachDB等等)。
- dsc star:25 面向 SQL、NoSQL、结构化文件的数据存储连接。
关系数据库驱动程序
- go-sql-driver/mysql star:12276 MySQL驱动程序。
- pq star:7342 纯 Go 的Postgres驱动。
- go-sqlite3 star:5722 SQLite3驱动程序。
- pgx star:5483 PostgreSQL驱动,支持比现有database/sql更多的特性。
- go-mssqldb star:1581 微软MSSQL驱动程序。
- go-oci8 star:591 Oracle 驱动程序。
- sqlhooks star:548 将钩子附加到任何数据库/sql驱动程序。
- godror star:361 基于 ODPI-C 的 Oracle 驱动程序
- Kivik star:237 Kivik为CouchDB、PouchDB和类似的数据库提供了一个通用的Go和GopherJS客户端库。
- firebirdsql star:170 Firebird RDBMS SQL驱动程序。
- go-adodb star:129 Microsoft ActiveX对象数据库驱动程序。
- Sqinn-Go star:120 SQLite with pure Go.
- gofreetds star:106 微软该司机。去包装FreeTDS。
- avatica star:95 Apache Avatica/Phoenix SQL驱动程序。
- bgc star:16 BigQuery 的数据存储连接。
- pig star:9 简单的pgx包装器执行和扫描查询结果很容易。
NoSQL数据库驱动程序
- redis star:14520 基于 Go 的 Redis 客户端。
- rueidis 快速Redis RESP3客户端与自动流水线和服务器辅助的客户端缓存。
- redigo star:9103 Redigo 是基于 Go 的Redis 客户端。
- mongo-go-driver star:6688 官方的 MongoDB 驱动。
- mgo star:1949 (已停止维护) MongoDB驱动。
- gorethink star:1597 RethinkDB 驱动。
- qmgo star:896 MongoDB司机走了。它是基于官方MongoDB司机但更容易使用像分别。
- mgm star:502 基于MongoDB模型的ODM for Go(基于官方MongoDB驱动)。
- redeo star:413 与 redis 协议兼容的 TCP 服务器/服务。
- aerospike-client-go star:392 Aerospike 客户端。
- neoism star:386 Golang 的 Neo4j 客户端。
- gocb star:335 官方Couchbase Go SDK。
- go-couchbase star:316 Couchbase客户端。
- go-rejson star:269 实现了基于 Redigo 客户端的redislabs' ReJSON 模块。可简单地将结构体存储为JSON对象并对其进行操作。
- godis star:104 由GoLang实现的redis客户端,灵感来自jedis。
- Neo4j-GO star:76 Neo4j REST 客户端。
- arangolite star:71 轻量级的 ArangoDB 驱动。
- go-pilosa star:52 Pilosa客户端。
- forestdb star:32 基于 Go 的 ForestDB 接口实现。
- goriak star:27 Riak KV 驱动。
- neo4j star:27 Neo4j Rest API实现。
- xredis star:18 类型安全,可定制,清晰和易用的Redis客户端。
- godscache star:10 谷歌云平台Go Datastore包的封装,它采用了memcached添加缓存。
- gomemcache memcache客户端库。
- asc star:8 Aerospike 的数据存储连接器。
- gocosmos star:8 Azure Cosmos DB的REST客户端和标准的“数据库/sql”驱动程序。
- gocql Apache Cassandra 的 Go 驱动。
检索及分析资料库
- elastic star:6805 Elasticsearch 客户端。
- go-elasticsearch star:4123 官方 Elasticsearch 客户端。
- elastigo star:949 Elasticsearch 客户端。
- elasticsql star:909 将 SQL 转换为 elasticsearch dsl。
- skizze star:85 面向概率数据结构的服务和存储。
- goes star:28 实现了与 Elasticsearch 交互的库。
日期和时间
用于处理日期和时间的库。 (翻译出错了? 试试 英文版 吧~)
- now star:3694 now 是时间有关的工具类。
- carbon star:2001 datetime的一个简单、语义和开发人员友好的golang包。
- dateparse star:1709 可以解析很多格式不固定的日期字符串。
- carbon star:701 简单的时间扩展,包含了许多使用方法,从 PHP Carbon 库移植的。
- durafmt star:438 轻量级、可让time.Duration更加易读的库。
- timeutil star:188 面向 Golang 的时间库,集成了很多有用的扩展(Timedelta, Strftime, ...)。
- gostradamus star:167 和约会对象一起工作的软件包。
- go-persian-calendar star:118 太阳历实现。
- iso8601 star:103 不用正则表达式有效解析 ISO8601 日期时间。
- date star:89 增加处理日期、日期范围、时间跨度、时间段和time-of-day。
- timespan star:79 用于处理时间间隔相关的库,可定义开始时间和持续时间。
- go-sunrise star:43 计算指定位置的日出和日落时间。
- feiertage star:41 用于计算德国公共假期的函数,比如复活节、感恩节等
- go-str2duration star:40 将字符串转换为持续时间。支持的时间。持续时间返回字符串等。
- kair star:23 用于处理日期和时间的 golang 库。
- cronrange star:16 解析cron风格的时间范围表达式,检查给定的时间是否在任何范围内。
- NullTime star:12 可以允许 time.Time 为null。
- tuesday star:11 Ruby-compatible Strftime function。
- strftime star:9 C99-compatible strftime formatter。
- go-week star:7 一个有效的软件包,以配合ISO8601周日期。
分布式系统
协助构建分布式系统的包。 (翻译出错了? 试试 英文版 吧~)
- go-kit star:23107 支持服务发现、负载平衡、插件式传输、请求跟踪等功能的Microservice toolkit。
- go-micro star:18258 分布式系统开发框架。
- Kratos star:17908 一个模块化设计的易于使用的微服务框架。
- go-zero star:17894 一个web和rpc框架。它的诞生是为了确保繁忙场地的稳定性,弹性设计。内置的goctl大大提高了开发效率。
- grpc-go star:16085 gRPC的Go语言实现。
- micro star:11137 一个分布式系统运行时,用于云及其他。
- NATS star:10940 轻量级、高性能消息传递系统,可用于微服务、物联网(IoT)和云。
- rpcx star:7007 分布式可插拔的RPC服务框架,如阿里巴巴Dubbo。
- raft star:5933 Raft consensus协议的实现。 by HashiCorp。
- raft Raft consensus协议的实现。 by CoreOS。
- lura star:5083 具有中间件的高性能API网关框架。
- torrent star:4355 BitTorrent 客户端。
- dragonboat star:4222 一个功能齐全,高性能的库集。
- emitter-io star:3272 高性能、分布式、安全和低延迟的发布-订阅平台,使用MQTT、Websockets和love构建。
- glow star:3064 全部用 Go 实现,易用、可伸缩,可用于分布式大数据处理,Map-Reduce, DAG执行。
- gleam star:3055 使用纯Go和Luajit编写的快速、可伸缩的分布式map/reduce系统,结合了Go的高并发性和Luajit的高性能,可以独立运行或分布式运行。
- liftbridge star:2277 用于nat的轻量级、容错的消息流。
- hprose star:1203 支持25+种语言RPC库。
- go-doudou star:813 八卦协议和基于OpenAPI 3.0规范的去中心化微服务框架。内置的go-doudou cli专注于低代码和快速开发,可以提高您的生产力。
- ringpop-go star:735 可伸缩的,容错、应用分层的的Go应用程序。
- rain star:708 BitTorrent客户端和库。
- redis-lock star:703 基于redis的分布式锁简易实现。
- resgate 用于构建REST、实时和RPC API的实时API网关,其中所有客户端都是无缝同步的。
- gorpc star:648 简单、快速和可伸缩的RPC库。
- go-health star:622 用于在服务中启用异步依赖项健康检查的库。
- arpc star:515 更有效的网络通信,支持双向呼叫、通知、广播。
- consistent star:479 Consistent hashing with bounded loads。
- go-sundheit star:479 为支持为golang服务定义异步服务健康检查而构建的库。
- digota star:444 基于 grpc 的电子商务微服务。
- dot 基于 transformation/OT 的分布式同步。
- sleuth star:350 用于HTTP服务之间进行无中心p2p自动发现和RPC通信的库(使用ZeroMQ)。
- go-jump star:342 提供了谷歌的 “Jump” 一致哈希函数接口。
- dht star:236 BitTorrent Kademlia DHT的实现。
- jsonrpc star:226 JSON-RPC 2.0 HTTP客户端。
- jsonrpc star:166 jsonrpc 包,实现了 JSON-RPC 2.0。
- outboxer star:82 实现了 outbox pattern Go 库。
- pglock postgresql 的分布式锁定实现。
- pjrpc Golang JSON-RPC服务器-客户端与原生buf规范。
- Semaphore star:74 简单的(微)服务协调器。
- doublejump star:73 实现了谷歌的jump consistent hash。
- celeriac star:70 用于对 Celery worker、任务、事件进行交互和监控的库。
- flowgraph star:49 flow-based programming package。
- go-mysql-lock star:43 基于MySQL分布式锁。
- drmaa star:38 符合 DRMAA 标准的集群调度程序作业提交库。
- dynamolock DynamoDB-backed 分布式锁定实现。
- go-pdu star:38 一个去中心化的基于身份的社交网络。
- gmsec star:20 一个Go分布式系统开发框架。
- dynatomic star:14 基于 DynamoDB 的 原子计数器的库。
- consistenthash star:11 使用可配置副本的一致哈希。
- failured star:5 分布式系统的自适应应计故障检测器。
动态域名
更新动态DNS记录的工具。 (翻译出错了? 试试 英文版 吧~)
- GoDNS star:1063 一个动态DNS客户端工具,支持DNSPod & HE.net。
- DDNS star:209 个人 DDNS 客户端。
- dyndns 后台去处理定期和自动检查您的IP地址,并作出更新(一个或多个)动态DNS记录,为谷歌域,每当您的地址变化。
电子邮件
实现了电子邮件创建和发送。 (翻译出错了? 试试 英文版 吧~)
- MailHog star:10197 电子邮件和SMTP测试工具,对外提供了 web 和 API 接口。
- hermes star:2480 可生成干净的、响应式的HTML电子邮件。
- email star:2053 一个强大和灵活的电子邮件库。
- go-imap star:1552 用于客户端和服务器的IMAP库。
- chasquid 用Go编写的SMTP服务器。
- SendGrid star:816 SendGrid 的 Go语言库,用于发送电子邮件。
- mailgun-go star:605 使用Mailgun API去库发送邮件。
- email-verifier star:458 一个Go库的电子邮件验证而不发送任何电子邮件。
- go-simple-mail star:317 非常简单的包发送电子邮件与SMTP保持活动和两个超时:连接和发送。
- go-message star:250 用于Internet消息格式化和邮件消息的流媒体库。
- Hectane star:218 轻量级的SMTP客户机,提供了HTTP API。
- douceur star:215 在HTML邮件中支持CSS内联。
- mailchain star:118 发送加密的电子邮件到区块链地址写在Go。
- go-premailer star:88 在HTML邮件中支持CSS内联。
- go-dkim star:78 DKIM库,用于签署 & 验证电子邮件。
- smtp star:71 SMTP服务器协议状态机。
- smtpmock star:45 轻量级的可配置多线程假SMTP服务器。为您的测试环境模拟任何SMTP行为。
- go-email-validator star:33 模块化电子邮件验证器的语法,一次性,smtp等…检查。
- truemail-go star:12 可配置Golang电子邮件验证器/验证器。验证电子邮件通过Regex, DNS, SMTP甚至更多。
- go-mail star:10 A simple Go library for sending mails in Go.
- mailx star:2 Mailx是一个使通过SMTP发送电子邮件更容易的库。它是对golang标准库' net/smtp '的增强。
可嵌入的脚本语言
在go代码中嵌入其他语言。 (翻译出错了? 试试 英文版 吧~)
- gopher-lua star:4776 用 Go 实现的 Lua 5.1 虚拟机和编译器。
- goja star:2956 ECMAScript 5.1(+)实现在Go。
- tengo star:2730 字节码编译的脚本语言。
- expr star:2628 Go的表达式计算引擎:快速,非图灵完备,动态类型,静态类型。
- go-lua star:2365 用 Go 实现的 Lua 5.2 VM接口。
- go-python star:1386 CPython C-API 的 Go 接口。
- anko star:1242 用Go编写的解释器。
- cel-go star:1176 快速,可移植,非图灵完整的表达评估与渐进分型。
- metacall star:950 跨平台多语言运行时,支持NodeJS, JavaScript, TypeScript, Python, Ruby, c#, WebAssembly, Java, Cobol等等。
- go-php star:860 PHP 的 Go 接口。
- go-duktape star:779 支持 Duktape JavaScript 引擎。
- golua star:589 Lua C 的 Go 接口。
- gval star:491 一种用Go编写的高度可定制的表达式语言。
- gisp star:483 LISP 的 Go 接口。
- prolog star:366 可嵌入的序言。
- gentee star:95 嵌入式脚本编程语言。
- binder star:57 Lua接口,基于gopher-lua。
- purl star:34 嵌入 Go 的 Perl 5.18.2。
- ecal star:22 一种简单的支持并发事件处理的可嵌入脚本语言。
- ngaro star:22 嵌入式 Ngaro VM实现,支持在 Retro 中运行脚本。
错误处理
处理错误的库。 (翻译出错了? 试试 英文版 吧~)
- errors star:7740 可让你很简单的进行错误处理。
- go-multierror star:1572 可将一系列的错误作为一个整体来显示。
- eris star:1017 在Go中处理、跟踪和记录错误的更好方法。兼容标准错误库和github.com/pkg/errors。
- errorx star:867 一个功能丰富的错误包,可进行堆栈跟踪、组装异常信息以及其他。
- tracerr star:711 可展示错误的堆栈跟踪信息和源码片段。
- errlog star:406 用于定位抛出错误的源代码(以及一些其他快速调试特性)。可插入到任何 logger 的位置。
- emperror star:248 用于Go库和应用程序的错误处理工具和最佳实践。
- errors star:140 替换标准库错误包和github.com/pkg/errors。提供各种错误处理原语。
- errors star:42 这是一个最小的错误处理包,自定义错误类型,用户友好的消息,Unwrap & is。与非常容易使用和直接的帮助函数。
- Falcon star:7 一个简单但功能强大的错误处理包。
- errors star:5 最简单的错误包装器,具有出色的性能和最小的内存开销。
- errors star:3 使用分类原语进行简单的golang错误处理。
文件处理
处理文件和文件系统的库。 (翻译出错了? 试试 英文版 吧~)
- afero star:4467 文件系统的抽象系统。
- pdfcpu star:3173 PDF处理器。
- gdu star:1795 带有控制台接口的磁盘使用分析器。
- notify star:741 文件系统事件通知库,具有类似于os/signal的简单API,。
- copy star:433 递归地复制目录。
- bigfile star:223 一个文件传输系统,支持管理文件与http api, rpc调用和ftp客户端。
- afs star:181 用于Go的抽象文件存储(mem、scp、zip、tar、cloud: s3、gs)。
- vfs star:172 一组可插拔的、可扩展的和自定义的文件系统功能,用于跨越许多文件系统类型,如os、S3和GCS。
- go-exiftool star:111 ExifTool 的 Go 实现,这个著名的库用于从文件(图片、PDF、office,…)中提取尽可能多的元数据(EXIF、IPTC,…)。
- go-csv-tag star:94 使用 tag 加载 csv 文件。
- skywalker star:79 可以轻松地并发地遍历文件系统。
- stl 采用并行读取算法的进行读取和写入STL(立体光刻)文件的模块。
- gofs star:74 一个开箱即用的文件同步工具。
- opc star:72 加载Open Packaging Conventions (OPC)文件。
- checksum star:56 计算消息摘要,如MD5, SHA256, SHA1, CRC或BLAKE2s,对于大文件。
- parquet star:53 读写parquet文件。
- tarfs star:50 tar文件的实现 FileSystem 接口。
- baraka star:42 一个轻松处理http文件上传的库。
- go-gtfs star:32 加载gtfs文件。
- flop star:31 文件操作库,是GNU cp的镜像。
- gut/yos star:24 简单和可靠的包文件操作,如复制/移动/diff/列表的文件,目录和符号链接。
- go-decent-copy star:16 拷贝文件。
- todotxt star:13 去吉娜·特拉帕尼的todo.txt文件库,支持解析和操作_todo.txt_格式的任务列表。
- pathtype star:11 将路径视为它们自己的类型,而不是使用字符串。
- higgs star:9 一个小小的跨平台Go库,用于隐藏/取消隐藏文件和目录。
金融
会计和财务软件包。 (翻译出错了? 试试 英文版 吧~)
- ticker star:4252 终端库存观察和库存位置跟踪。
- decimal star:4040 任意精度定点的十进制数。
- go-money star:1097 Fowler 货币模式的实现。
- accounting star:742 货币和货币格式。
- techan star:641 拥有先进的市场分析和交易策略的技术分析库。
- go-finance star:537 综合金融市场数据。
- ach star:311 自动化票据交换所(ACH)文件的读取器、写入器和验证器。
- currency star:291 处理货币金额,提供货币信息和格式。
- orderbook star:265 限购单匹配引擎。
- go-finance star:136 用于货币时间价值(年金)、现金流、利率转换、债券和折旧计算的金融函数库。
- transaction star:108 嵌入式事务数据库,可多线程模式运行。
- ofxgo star:101 查询 OFX 服务器和/或解析响应。
- sleet star:95 多个付款服务供应商使用统一界面处理网上付款。
- vat star:91 增值税编号验证 & 欧盟增值税税率。
- go-finnhub star:68 来自finnhu .io的股票市场、外汇和密码数据客户。从60多个证券交易所、10个外汇经纪人和15多个密码交易所获取实时金融市场数据。
- currency star:46 高性能、准确的货币计算软件包。
- fastme star:34 快速可扩展匹配引擎Go实现。
- payme star:10 二维码生成器(ASCII & PNG)用于SEPA支付。
- go-finance star:8 模块获取汇率,通过VIES检查增值税号码,检查IBAN银行账号。
表单
用于处理表单的库。 (翻译出错了? 试试 英文版 吧~)
- nosurf star:1286 CSRF保护中间件。
- binding star:790 将来自 net/HTTP 请求的表单、JSON 数据绑定到结构体。
- gorilla/csrf star:790 用于Go web应用程序和服务的CSRF保护。
- form star:528 将 url 中的数据解析到 Go 变量中,以及将 Go 语言变量编码进 url。支持 Dual Array 及 Full map。
- conform star:259 控制用户输入。基于struct tags可对数据进行修剪、清理和擦除。
- formam star:169 将表单的值解码为 struct。
- forms star:131 与框架无关的库,用于解析和验证支持多部分表单和文件的表单/JSON数据。
- httpin star:80 将HTTP请求解码为自定义结构,包括查询字符串、表单、HTTP头等。
- qs star:60 去模块编码结构到URL查询参数。
- bind star:27 将表单数据与任意 Go 变量进行绑定。
- queryparam star:13 解码的url。值转换为标准或自定义类型的可用结构值。
方法
在Go中支持函数式编程的包。 (翻译出错了? 试试 英文版 吧~)
- go-underscore star:1237 常用辅助方法集合。
- fpGo star:268 提供函数式编程功能。
- gofp star:126 一个类似lodash的强大的Golang实用程序库。
- fuego star:117 Functional Experiment in Go。
- fp-go star:59 Collection of Functional Programming helpers powered by Golang 1.18+ generics.
- underscore star:47 Go 1.18及以上版本的函数式编程助手。
- valor star:3 Generic option and result types that optionally contain a value.
游戏开发
很棒的游戏开发库。 (翻译出错了? 试试 英文版 吧~)
- Ebiten star:6492 很简单的 2D 游戏库。
- Leaf star:4399 轻量级游戏服务器框架。
- Pixel star:3918 手工制作的 2D 游戏库。
- goworld star:2102 可伸缩的游戏服务器引擎,具有 space-entity 框架和 hot-swapping 功能。
- nano star:2022 轻量级、方便、高性能的基于golang的游戏服务器框架。
- g3n star:1976 3D游戏引擎。
- go-sdl2 star:1762 实现了Simple DirectMedia Layer。
- engo star:1508 开源 2D 游戏引擎。它遵循 Entity-Component-System 范式。
- Pitaya star:1432 可伸缩的游戏服务器框架,支持集群和客户端库的iOS, Android, Unity。
- termloop star:1286 基于终端的 Go 游戏引擎,建立在 Termbox 之上。
- Oak star:1200 纯 Go 实现的游戏引擎。
- gonet star:1172 实现了游戏服务器骨架。
- raylib-go star:786 去绑定raylib,一个简单易用的库学习视频游戏编程。
- Azul3D star:544 用Go编写的 3D 游戏引擎。
- go-astar star:499 实现了A*路径查找算法。
- go3d star:261 以性能为主的2D/3D数学相关包。
- prototype star:71 跨平台(Windows/Linux/Mac)库,用于使用最少的API创建桌面游戏。
- tile star:53 面向数据和缓存友好的2D网格库(TileMap),包括寻路、观察者和导入/导出。
发电机
生成Go代码的工具。 (翻译出错了? 试试 英文版 吧~)
- go-linq star:2940 提供类似 .NET LINQ 的查询方法。
- jennifer star:2432 不使用模板生成任意 Go 代码。
- goderive star:979 从输入类型来派生函数。
- GoWrap star:609 使用简单模板为 Go 接口生成装饰器。
- interfaces star:341 用于生成接口定义的命令行工具。
- go-enum star:328 从代码注释中生成枚举。
- copygen star:129 Generate type-to-type code without reflection.
- goverter star:119 通过定义接口生成转换器。
- gotype star:39 Golang 源码解析,用法类似reflect(反射)。
- generis star:34 提供泛型、free-form 宏、条件编译和HTML模板的代码生成工具。
- go-xray star:21 帮助更容易地使用反射。
- typeregistry star:13 动态创建类型的库。
地理
地理工具和服务器 (翻译出错了? 试试 英文版 吧~)
- godal star:76 去包装GDAL。
- geoserver star:72 基于geoserver REST API的 geoserver 实例。
- gismanager star:43 将你的 GIS 数据(矢量数据)发布到 PostGIS 和 Geoserver。
- [h3-go] - Go bindings for H3, a hierarchical hexagonal geospatial indexing system.
- Tile38 star:8122 具有空间索引和实时地理定位功能的地理定位数据库。
- S2 geometry star:1373 S2 geometry 库。
- mbtileserver star:345 一个简单的基于go的服务器,用于存储mbtiles格式的地图块。
- osm star:209 用于读取、写入和处理 OpenStreetMap 数据和 APIs。
- simplefeatures star:51 simplesfeatures是一个2D几何库,提供了建模几何图形的Go类型,以及对几何图形进行操作的算法。
- pbf star:34 基于Golang 的 OpenStreetMap PBF 编码器/解码器。
- S2 geojson star:17 将geojson转换为s2单元格&在map上演示一些s2的几何特性。
- H3 GeoJSON star:1 Conversion utilities between H3 indexes and GeoJSON.
- H3GeoDist Distribution of Uber H3geo cells by virtual nodes.
- Web-Mercator-Projection A project to easily use and convert LonLat, Point and Tile to display info, markers, etc, in a map using the Web Mercator Projection.
- WGS84 star:76 坐标转换和转换库(ETRS89, OSGB36, NAD83, RGF93, Web Mercator, UTM)。
Go 编译器
可将 Go 转换为其他语言的编译工具。 (翻译出错了? 试试 英文版 吧~)
- gopherjs star:11131 将 Go 编译成 JavaScript。
- tardisgo star:419 Golang 转换为 Haxe,再转换为 CPP/CSharp/Java/JavaScript 的编译器.
- c4go star:308 将 C 代码转换为 Go 代码。
- esp32 star:45 转到Arduino代码。
- f4go star:33 将 FORTRAN 77 转换为 Go代码。
Goroutines
管理和处理 Goroutines 的工具。 (翻译出错了? 试试 英文版 吧~)
- ants star:8293 一个高性能且低损耗的 goroutine 池。
- tunny star:3032 golang 的协程池。
- goworker star:2658 基于 go 的后台 worker。
- workerpool star:819 限制任务执行并发数,而不是队列中的任务数量的协程池,。
- grpool star:692 轻量级协程池。
- pool star:684 有限消费者协程或无限协程池,可用于更加简单的处理和取消协程
- pond star:521 简约和高性能的goroutine工作池写在Go。
- gowp star:387 gowp是高并发性限制异步工作池。
- go-floc star:249 轻松编排 goroutines。
- go-flow star:193 控制 goroutines 的执行顺序。
- semaphore star:144 基于 CAS 的可快速调整的信号量实现(比基于通道的信号量实现更快)。
- go-workers star:141 为大型数据处理管道轻松安全地运行工人。
- artifex star:133 简单的内存作业队列。
- neilotoole/errgroup star:124 “sync/errgroup”的替代方案,仅限于N个worker goroutines池。
- async star:107 一种异步执行函数的安全方法,在出现 panic 时恢复它们。
- cyclicbarrier star:97 基于 Go 的 CyclicBarrier 实现。
- semaphore star:89 信号量模式实现,可根据通道和上下文进行具备超时功能的锁定/解锁操作。
- gollback star:87 异步简单的函数实用程序,用于管理闭包和回调的执行。
- gpool star:84 manages a resizeable pool of context-aware goroutines to bound concurrency
- worker-pool star:82 一个简单的 Go 异步工作池。
- Hunch star:80 Hunch 提供了诸如 All、First、Retry、Waterfall 等功能,这使得异步流控制更加直观。
- threadpool star:71 Golang 的 threadpool 实现。
- async star:53 可选的Go同步库(Future, Promise, Locks)。
- goccm star:51 Go并发管理器包限制了允许并发运行的goroutines的数量。
- routine star:50 go routine control with context, support: Main, Go, Pool and some useful Executors.
- nursery star:45 Go中的结构化并发。
- oversight 完整的实现了Erlang supervision trees。
- kyoo star:37 提供无限的作业队列和并发工作池。
- gohive star:35 一个高性能和易于使用的Goroutine池去。
- parallel-fn star:33 并行运行函数。
- go-waitgroup star:29 像“同步。有错误处理和并发控制。
- go-trylock star:28 支持 read-write 锁。
- stl star:24 基于软件事务内存(STM)并发控制机制的软件事务锁。
- channelify star:23 将函数转换为返回通道,以便进行简单而强大的并行处理。
- gowl star:19 Gowl同时是一个流程管理和流程监控工具。无限工作者池使您能够控制池和进程并监视它们的状态。
- conexec star:12 一个并发工具包,帮助以高效和安全的方式并发执行函数。它支持指定总体超时来避免阻塞,并使用goroutine池来提高效率。
- queue star:12 提供类似队列组可访问性 sync.WaitGroup 的功能。帮助你节流和限制协程、等待所有协程结束以及更多功能。
- execpool star:11 一个围绕exec建立的池。Cmd,它预先启动给定数量的进程,并在需要时将stdin和stdout附加到它们。非常类似于FastCGI或Apache Prefork MPM,但适用于任何命令。
- hands star:8 进程控制器,用于控制多个goroutine的执行和返回策略。
- concurrency-limiter star:7 支持超时、动态优先级和上下文取消的并发限制器。
- go-tools/multithreading star:7 轻量级的协程池库,可以通过简单的API来管理。
- breaker star:5 灵活的机制,可以使执行流可中断。
- async-job star:1 AsyncJob is an asynchronous queue job manager with light code, clear and speed.
GUI
用于构建GUI应用程序的库。 (翻译出错了? 试试 英文版 吧~)
工具包 (翻译出错了? 试试 英文版 吧~)
- fyne star:16861 基于材料设计的Go跨平台本机gui设计。支持:Linux, macOS, Windows, BSD, iOS和Android。
- webview star:10058 跨平台webview窗口,具有简单的双向JavaScript绑定(Windows / macOS / Linux)。
- qt star:9244 实现了 Qt 的 Go接口(支持Windows / macOS / Linux / Android / iOS / Sailfish OS / Raspberry Pi)。
- ui star:8128 跨平台的 Platform-native GUI 库。
- Wails Mac, Windows, Linux桌面应用程序,主要基于含有内置的OS HTML渲染器的HTML UI。
- app star:6146 用于创建包含了 GO, HTML 和 CSS 的应用程序。支持 MacOS, Windows 正在开发中。
- walk star:6061 Windows应用程序库。
- go-astilectron star:4376 使用 GO 和 HTML/JS/CSS (电子驱动)进行构建跨平台 GUI 应用程序。
- go-gtk 实现了 GTK 的 Go接口。
- go-sciter star:2390 实现了 Sciter 的 Go 接口 : 用于现代桌面 UI 开发的可嵌入HTML/CSS/脚本引擎。可跨平台。
- gotk3 star:1743 实现了 GTK3 的 Go接口。
- gowd star:356 跨平台、快速、简单的桌面UI开发,采用了GO, HTML, CSS和NW.js实现。
- goradd/html5tag star:3 输出HTML5标签的库。
交互 (翻译出错了? 试试 英文版 吧~)
- robotgo star:7550 实现跨平台的GUI系统自动化。包含了控制鼠标、键盘等功能。
- systray star:2384 跨平台 Go 库,可在通知区放置图标和菜单。
- gosx-notifier star:570 OSX 桌面通知库。
- zenity star:263 跨平台的Go库和CLI创建简单的对话框,与用户进行图形化交互。
- trayhost star:225 跨平台 Go 库,可用于在主机操作系统的任务栏中放置图标。
- go-appindicator star:19 实现了 libappindicator3 C库 的 Go接口。
- mac-activity-tracker star:18 用于通知计算机上的任何(可插入的)活动的 OSX 库。
- mac-sleep-notifier star:16 OSX 睡眠/唤醒通知。
硬件
硬件交互相关的库、工具和教程。 (翻译出错了? 试试 英文版 吧~)
- arduino-cli star:3407 官方Arduino CLI和库。可以独立运行,也可以合并到更大的Go项目中。
- go-rpio star:1882 GPIO for Go,不需要cgo。
- ghw star:1171 Golang硬件发现/检查库。
- emgo star:977 用于嵌入式系统(如STM32 MCU)编程的Go-like语言。
- sysinfo star:353 一个提供Linux操作系统/内核/硬件系统信息的纯Go库。
- goroslib star:192 Go机器人操作系统(ROS)库。
- go-osc star:154 为Go打开声音控制(OSC)绑定。
- joystick star:32 用于读取附加操纵杆状态的轮询API。
图片
图像处理相关的库。 (翻译出错了? 试试 英文版 吧~)
- gocv star:4811 使用OpenCV 3.3+实现的计算机视觉(ComputerVision)的Go语言包。
- imaginary star:4364 用于图像大小调整的快速、简单的HTTP微服务。
- imaging star:4234 简单的Go图像处理包。
- bild star:3530 纯Go语言实现的图像处理算法合集。
- gg star:3405 纯Go语言实现的2D渲染。
- ln star:3065 Go实现的3D线艺术(3D Line Art)渲染。
- resize star:2829 Go实现的使用常用的插值法(interpolation methods)调整图像大小的库。
- pt star:2010 Go实现的路径跟踪(path tracing)引擎。
- bimg star:1910 使用libvips实现的快速高效的图像处理包。
- svgo star:1848 Go实现的SVG生成库。
- picfit star:1654 Go实现的图像调整服务器。
- smartcrop star:1640 为任意图片寻找合适的位置进行图片裁剪。
- gift star:1553 图像处理包。
- gowitness star:1462 在命令行上使用go和headless chrome截屏网页。
- imagick star:1446 ImageMagick下MagickWand的C API的Go binding。
- go-opencv star:1270 OpenCV库的Go bindings。
- geopattern star:1184 由字符串创建漂亮图案的图片生成器。
- stegify star:1011 Go实现的LSB隐写(LSB steganography),能够隐藏任何文件到一个图像中。
- canvas star:967 矢量图形到PDF, SVG或光栅图像。
- govips star:683 闪电快速的图像处理和调整库的Go。
- image2ascii star:665 将图像转换为ASCII码。
- draft star:532 使用简单的YAML语法为GraphViz生成高级微服务架构图。
- govatar star:497 生成有趣头像的库和CMD工具。
- goimagehash star:496 图像哈希处理的Go语言包。
- mort star:455 Go语言实现的图像存储和处理服务器。
- go-nude star:349 Go语言实现的裸照检测工具。
- rez star:205 纯Go语言和SIMD实现的图像大小调整。
- darkroom star:190 An image proxy with changeable storage backends and image processing engines with focus on speed and resiliency.
- mergi star:173 用于图像处理(合并、裁剪、调整大小、水印、动画)的工具和Go库。
- gltf star:158 一个高效、健壮的glTF 2.0文件读取、写入和验证器。
- steganography star:141 纯Go实现的LSB隐写(LSB steganography)的库。
- img star:138 图像处理工具的集合。
- go-cairo star:118 cairo图形库的Go binding。
- cameron star:85 一个Go语言的头像生成器。
- go-gd star:53 GD库的Go binding。
- go-webp star:52 为编码和解码webp图片的库,使用libwebp。
- gridder star:52 一个基于网格的2D图形库。
- webp-server star:45 能够存储、调整大小、转换和缓存图像的简单和最小的图像服务器。
- goimghdr star:38 Go语言实现的imghdr模块用于确定文件的图像类型。
- tga star:30 tga包是一个TARGA图像的解码、编码器。
- go-webcolors star:26 Python下webcolors库的Go语言调用。
- mpo star:8 MPO三维照片的解码和转换工具。
- scout star:4 Scout是一款独立的开源视频安全软件解决方案。
物联网
物联网设备编程库。 (翻译出错了? 试试 英文版 吧~)
- flogo star:1995 Flogo是一个面向物联网边缘应用和集成的开源框架。
- mainflux star:1780 工业物联网消息和设备管理服务器。
- periph 外围设备I/O与低级板(low-level board)设备接口。
- gatt star:1023 Gatt是一个用于构建低能耗蓝牙外围设备的Go语言包。
- gobot Gobot是一个用于机器人、物理计算和物联网的框架。
- connectordb star:335 自我量化和物联网的开源平台。
- devices star:253 一套用于物联网设备的库,实验性地用于x/exp/io。
- sensorbee star:211 轻量级物联网流处理引擎。
- huego star:206 一个包含广泛的Philips Hue客户端的Go语言库。
- iot IoT是一个实现谷歌物联网核心设备的简单框架。
- eywa star:52 Eywa是一个用于跟踪连接的设备连接管理器。
作业调度器
用于作业调度的库。 (翻译出错了? 试试 英文版 吧~)
- gocron star:1906 熟练掌握Go工作调度。这是一个积极维护的分叉jasonlvhit/gocron。
- JobRunner star:923 智能和功能丰富的cron作业调度程序(包含任务队列和实时监控)。
- gron star:894 使用简单的Go API定义基于时间的任务。 之后Gron的调度程序将运行它们。
- go-quartz star:791 简单的,无依赖的Go调度库。
- jobs star:490 持久和灵活的后台作业库。
- scheduler star:385 Cronjobs让调度变得很简单。
- go-cron star:210 一个Go实现的简单的定时任务库。可以在不同的时间间隔(每秒一次到在每年在特定的日期执行)执行闭包或函数。主要用于web应用和长时间运行的守护进程。
- gronx star:193 Cron表达式解析器、任务运行器和守护进程像任务列表一样使用crontab。
- clockwerk star:119 使用简单、流畅的语法调度作业的Go语言库。
- Dagu star:93 No-code workflow executor. it executes DAGs defined in a simple YAML format.
- tasks star:90 一个易于使用的进程内调度器,用于Go中的重复任务。
- leprechaun star:87 支持webhook、crons和经典调度的作业调度程序。
- goflow star:38 一个用于ETL/ML/AI管道快速原型化的工作流协调器和调度器。
- cheek star:35 一个简单的类似crontab的调度器,旨在为作业调度提供一种KISS方法。
- sched star:24 具有快进时间能力的作业调度程序。
- cdule star:7 具有数据库支持的作业调度程序库
- cronticker star:2 支持cron调度的一个自动报价器实现。
JSON
用于JSON处理的库。 (翻译出错了? 试试 英文版 吧~)
- GJSON star:10332 使用一行代码获取JSON的值。
- gojson star:2496 从JSON自动生成Go的结构(struct)定义。
- fastjson star:1538 用于Go的快速JSON解析器和验证器。没有自定义结构,没有代码生成,没有反射。
- OjG star:474 优化JSON for Go是一个高性能的解析器,具有多种额外的JSON工具,包括JSONPath。
- kazaam star:228 用于任意JSON文档转换的API。
- gojq star:182 Go语言实现的JSON请求。
- jsondiff star:168 Go的JSON diff库基于RFC6902 (JSON Patch)。
- jettison star:127 Go的快速灵活的JSON编码器。
- ajson star:115 为Go语言开发的包含JSONPath支持的抽象JSON。
- gjo star:108 用于创建JSON对象的小工具。
- jsongo star:102 使用Fluent API来更容易地创建Json对象。
- json2go star:100 高级JSON去结构转换。提供一个包,该包可以解析多个JSON文档并创建结构体以适应所有这些文档。
- JayDiff star:84 用Go编写的JSON比对工具。
- jsonf star:63 用于高亮展示和查询JSON的控制台工具。
- ujson star:58 快速和最小的JSON解析器和转换器,工作在非结构化JSON。
- go-respond star:47 用于处理常见的HTTP JSON响应的Go语言库。
- mp star:45 简单的cli电子邮件解析器。它目前接受stdin并输出JSON。
- vjson star:30 用流畅API声明JSON模式来验证JSON对象的Go包。
- jsoncolor star:28 Drop-in替换' encoding/json ',输出彩色json。
- ask star:14 容易访问映射和片中的嵌套值。与encoding/json和其他将任意数据“解编组”为Go数据类型的包一起工作。
- jscan star:14 高性能零分配JSON迭代器。
- JSON-to-Go 将JSON转换为Go的结构(struct)。
- JSON-to-Proto 转换JSON到Protobuf在线。
- go-jsonerror star:12 Go-JsonError允许我们轻松创建符合JsonApi规范的json响应错误。
- jsonapi-errors star:12 基于JSON API错误引用的Go bindings。
- dynjson star:11 用于动态api的可定制的JSON格式。
- mapslice-json star:11 去MapSlice的有序封送/解封的JSON地图。
- jsonhal star:10 让自定义结构(struct)转化为JSON兼容的HAL(Hypertext Application Language)返回数据的简单Go包。
- epoch star:9 包含用于封送/解封送Unix时间戳/纪元到内建时间的原语。时间类型为JSON。
- ej star:7 简洁地编写和读取来自不同来源的JSON。
- jsonic star:7 处理和查询JSON的实用程序,无需以类型安全的方式定义结构。
- jzon star:6 具有标准兼容API/行为的JSON库。
- omg.jsonparser star:4 简单的JSON解析器,通过golang结构字段标签进行条件验证。
日志记录
用于生成和处理日志文件的库。 (翻译出错了? 试试 英文版 吧~)
- logrus star:20560 Go的结构化日志操作 。
- zap star:15909 快速、结构化、多等级的日志记录。
- zerolog star:6347 Zero-allocation JSON日志记录。
- spew star:5012 为Go数据结构实现一个漂亮的printer用于帮助调试。
- lumberjack star:3301 简单的滚动日志,io.WriteCloser的实现。
- glog star:3174 为Go提供了多等级日志记录。
- tail star:2343 努力模拟实现BSD的tail的特性的Go包。
- seelog star:1603 具有灵活调度、过滤和格式化的日志功能。
- log star:1231 Go的结构化日志包。
- log15 star:1048 简单、强大的日志操作。
- phuslu/log star:423 简化了结构化日志记录。
- onelog star:400 Onelog是一个非常简单但非常高效的JSON日志记录器。它是所有场景中最快的JSON记录器。而且,它是配置最低的记录器之一。
- logxi star:347 12-factor app的日志程序,快速且让人高兴地使用。
- logutils star:323 Go的用于更好地进行日志操作的实用程序,继承了标准日志库。
- log star:277 Go的简单、可配置和可伸缩的结构化日志。
- go-logger star:275 简单的日志程序的 Go 程序,与级别处理程序。
- httpretty star:257 在终端上美化您的常规HTTP请求以便调试(类似于HTTP . dumprequest)。
- rollingwriter star:230 RollingWriter是一个自动循环的io.Writer的实现,带有多种策略以提供日志文件循环(rotation)。
- sqldb-logger star:218 一个日志程序,用于不修改现有的* SQL . db stdlib用法的Go SQL数据库驱动程序。
- logur star:159 一个固执的logger接口,集合了著名库的适配器和集成的日志最佳实践(logrus, go-kit log, zap, zerolog,等等)。
- glg star:153 glg是一个简单而快速的Go日志库。
- logger star:152 Go的精简日志库。
- xlog star:135 针对'net/context`实现的结构化的记录器,用于HTTP处理程序。
- yell 这是另一个极简的日志库。
- ozzo-log star:118 支持日志多等级、分类和过滤的高性能日志记录。可以发送过滤后的日志消息到各种目标(如控制台,网络,邮件)。
- log-voyage star:91 用Go编写的功能齐全的日志写入saas。
- go-cronowriter star:47 基于当前日期和时间的自动日志文件写入工具,类似cronolog。
- stdlog star:44 Stdlog是一个面向对象的库,提供了多等级日志记录。它对cron任务非常有用。
- gologger star:41 为Go提供方便简单的日志操作; 在彩色控制台,简单控制台,文件或Elasticsearch上。
- logex star:39 由标准日志库封装的Go日志库,支持跟踪和多等级。
- go-log star:38 Log4j的Go语言。
- noodlog star:37 参数化JSON日志记录库,允许您混淆敏感数据和封送任何类型的内容。不再打印指针代替值,也不再为JSON字符串输出转义字符。
- go-log star:30 支持多等级和多处理程序的日志库。
- journald star:30 Go实现systemd Journal的原生API用于日志记录。
- logrusly star:27 logrus的插件,将错误信息发送到Loggly。
- distillog star:26 distilled日志记录(可以将其视为stdlib +日志)。
- log star:24 Go的结构化日志接口,清晰地将日志facade与其实现(implementation)分离开来。
- mlog star:24 简单的go日志模块,有5个级别,可选循环(rotation)日志文件记录功能和stdout/stderr输出。
- gomol star:18 为Go实现可多方式输出、结构化日志, 并可扩展日志输出方式。
- gone/log 快速、可扩展、功能齐全、std-lib源兼容的日志库。
- zkits-logger star:15 一个强大的零依赖JSON记录器。
- glo star:14 参照PHP的Monolog实现的具有相同日志等级的Go日志库。
- logmatic star:14 Go的彩色日志记录器,带有可配置的日志级别。
- logrusiowriter star:13 io。作者的实现使用logrus logger。
- go-log star:12 Go实现的简单且可配置的日志工具,并带有多等级、日志格式化和日志写入工具。
- log star:9 一个O(1)日志系统,允许您将一个日志连接到多个日志写入(例如stdout、文件和TCP连接)。
- logdump star:9 用于多等级级日志记录的包。
- logo star:9 Go的日志工具,可配置的日志写入器。
- go-log star:8 具有strack跟踪、对象转储和可选时间戳的日志记录库。
- kemba star:7 一个小的调试日志工具,灵感来自debug,非常适合CLI工具和应用程序。
- xlog star:6 插件架构和灵活的日志系统,带有多级别、多日志目标和自定义日志格式。
- structy/log star:4 一个简单易用的日志系统,极简但具有调试和区分消息的功能。
- slf4g star:1 Simple Logging Facade for Golang: Simple structured logging; but powerful, extendable and customizable, with huge amount of learnings from decades of past logging frameworks.
机器学习
机器学习库。 (翻译出错了? 试试 英文版 吧~)
- GoLearn star:8348 通用机器学习库。
- gorse star:5757 基于协同过滤的离线推荐系统后端。
- gorgonia star:4511 基于图形(graph-based)的计算库,如Theano:它为构建各种机器学习和神经网络算法提供了基本框架。
- m2cgen star:2104 这是一个CLI工具,可以将经过训练的经典ML模型转换成零依赖的本地Go代码,使用Python编写,并支持Go语言。
- tfgo star:1960 易于使用的Tensorflow bindings:简化了官方Tensorflow Go bindings的使用。在Go中定义计算图形,在Python中加载和执行训练的模型。
- gosseract star:1765 使用c++的Tesseract库实现的OCR。
- goml star:1346 在线机器学习。
- eaopt star:790 一个进化优化(evolutionary optimization)库。
- bayesian star:736 Go的朴素贝叶斯分类。
- CloudForest star:712 快速、灵活、多线程集成的决策树,用于机器学习。
- gobrain star:522 用 Go 编写的神经网络库。
- ocrserver star:500 一个简单的OCR API服务器,非常容易地使用Docker和Heroku部署。
- onnx-go star:391 Go Interface, 用于开放式神经网络交换(Open Neural Network Exchange)。
- go-deep star:367 一个功能丰富的神经网络库 。
- regommend star:299 推荐和协同过滤引擎。
- Goptuna star:211 Bayesian optimization framework for black-box functions written in Go. Everything will be optimized.
- go-galib star:192 用Go编写的遗传算法库。
- goRecommend star:185 用Go编写的推荐算法库。
- goga star:161 Go的遗传算法库。
- shield star:150 贝叶斯文本分类器,具有灵活的tokenizers和存储后端。
- go-fann star:109 快速人工神经网络(FANN)库的Go bindings。
- goscore star:77 为预言模型标记语言(PMML)实现的评分API。
- go-featureprocessing star:75 快速和方便的特征处理,低延迟机器学习在Go。
- gonet star:74 基于go的神经网络。
- libsvm star:71 基于LIBSVM 3.14实现。
- fonet star:67 一个用Go编写的深度神经网络库。
- neat star:63 即插即用的并行Go框架,用于增强拓扑的神经进化(NeuroEvolution of Augmenting Topologies)。
- neural-go star:63 多层感知器网络在Go中的实现,使用反向传播算法进行训练。
- go-pr star:61 Go编写的模式识别包。
- golinear star:44 Go实现的liblinear bindings。
- Varis star:44 Go实现的神经网络。
- godist star:33 各种概率分布,以及相关的method。
- go-cluster star:31 Go实现的k-modes和k-prototypes聚类算法。
- GoMind star:29 一个简单的神经网络库。
- evoli star:22 遗传算法(Genetic Algorithm)和粒子群优化(Particle Swarm Optimization)库。
- randomforest star:22 容易使用随机森林库去。
- probab star:17 概率分布函数。贝叶斯推理。使用Go写的。
- ddt star:16 动态决策树,创建定义可定制规则的树。
消息
实现消息传递系统的库。 (翻译出错了? 试试 英文版 吧~)
- sarama star:8557 Apache Kafka的Go库。
- gorush star:6342 使用APNs2和谷歌GCM推送通知服务器。
- machinery star:6265 基于分布式消息传递的异步任务/作业队列。
- Centrifugo star:6049 实时消息(Websockets或SockJS)服务器。
- go-socket.io star:4630 go的socket.io库,一个实时应用程序框架。
- Benthos star:4394 一系列协议之间的消息流桥接。
- NATS Go Client star:3957 轻量级和高性能的发布-订阅(publish-subscribe)和分布式队列消息传递系统——这是一个Go库。
- Confluent Kafka Golang Client star:3309 confluent-kafka-go是Confluent为Apache Kafka和Confluent平台开发的Golang客户端。
- Asynq star:3162 一个简单、可靠、高效的基于Redis的分布式任务队列。
- Mercure star:2738 使用Mercure协议分派服务器发送(server-sent)更新的服务器和库(构建在服务器发送事件之上)。
- APNs2 star:2639 HTTP / 2苹果消息推送provider——发送推送消息到iOS, tvOS, Safari和OSX应用。
- melody star:2449 处理websocket session的极简框架,包括广播和自动ping/pong处理。
- go-nsq star:2161 NSQ的官方Go包。
- gopush-cluster star:2044 gopush-cluster是一个gopush服务器集群。
- Uniqush-Push star:1351 Redis支持的统一推送服务, 用于服务端向移动设备的消息通知。
- Beaver star:1339 一个实时消息服务器,可用于在web和手机app端构建一个可伸缩的应用内通知,多人游戏,聊天应用。
- EventBus star:1143 具有异步兼容性的轻量级事件总线。
- zmq4 star:984 ZeroMQ的Go interface第4版。也可用于第3版和第2版。
- Gollum star:918 一个n:m多路复用器(n:m multiplexer),收集不同来源的消息并将其广播到一组目的地。
- Chanify star:850 推送通知服务器向你的iOS设备发送消息。
- dbus star:711 D-Bus的Go bindings。
- golongpoll star:596 HTTP longpoll服务器库,使web发布-订阅变得简单。
- mangos star:515 具有传输互操作性的Nanomsg(“可伸缩性协议”)的纯go实现。
- emitter star:426 使用Go的方式发出事件, 带有通配符、谓词、取消可能性和许多其他优点。
- Glue star:402 健壮的Go和Javascript Socket库(替代Socket.io)。
- pubsub star:373 简单的pubsub的go包。
- amqp star:347 进入RabbitMQ客户端库。
- Bus star:265 内部通信的最小消息总线实现。
- messagebus star:217 messagebus是一个Go的简单异步消息总线,非常适合在执行事件sourcing、CQRS和DDD时用作事件总线。
- rabtap star:214 RabbitMQ的瑞士军刀cli应用。
- guble star:151 使用推送通知服务(谷歌Firebase云消息、苹果推送通知服务、SMS)的消息服务器, 支持websockets,REST API,并具有分布式操作和消息持久性。
- hub star:115 适用于Go应用程序的消息/事件中心,使用publish/subscribe模式,并支持别名(类似rabbitMQ exchanges)。
- oplog star:111 用于REST api的通用oplog/replication系统。
- rabbus star:93 amqp exchanges和队列上的一个小工具。
- redisqueue star:81 基于Redis streams的队列的生产者和消费者。
- drone-line star:76 使用二进制、docker或Drone CI发送Line通知。
- go-mq star:74 具有声明式配置的RabbitMQ客户端。
- nsq-event-bus star:73 一个围绕NSQ topic和channel的小工具。
- RapidMQ star:63 RapidMQ是用于管理本地消息队列的轻量且可靠的库。
- go-notify star:60 原生的freedesktop通知规范实现。
- Commander star:59 高级事件驱动的消费者/生产者(consumer/producer),支持各种“方言”,如Apache Kafka。
- go-res star:58 用于构建REST/实时服务的包,其中客户端使用NATS和Resgate进行无缝同步。
- event star:46 观察者模式的实现。
- hare star:42 一个用户友好的库,用于发送消息和监听TCP套接字。
- ami star:23 基于Redis集群流的客户端到可靠队列。
- gosd star:19 一种用于调度何时将消息分派到通道的库。
- rmqconn star:19 RabbitMQ重新连接。amqp.Connection和amqp.Dial之上的Wrapper。允许在强制调用Close()方法关闭连接之前重新连接。
- go-vitotrol star:17 用于Viessmann Vitotrol web服务的客户端库。
- jazz star:15 一个简单的RabbitMQ抽象层,用于队列管理和消息的发布和消费。
- gaurun-client star:10 用Go编写的Gaurun客户端。
微软办公软件
- unioffice star:3347 用于创建和处理Office Word (.docx)、Excel (.xlsx)和Powerpoint (.pptx)文档的纯go库。
Microsoft Excel
用于操作Microsoft Excel的库。 (翻译出错了? 试试 英文版 吧~)
- excelize star:11860 Golang图书馆阅读和写作微软Excel™(XLSX)文件。
- xlsx star:5309 用以简化在Go程序中读取使用最新版本Microsoft Excel的XML格式文件的库。
- xlsx star:149 在Go程序以快速和安全的方式读取/更新现有的Microsoft Excel文件。
- go-excel star:146 一个简单轻便的阅读器,可以将类关系型数据库(relate-db-like)的excel作为表来读取。
- goxlsxwriter star:18 libxlsxwriter的Go binding, 用于编写XLSX (Microsoft Excel)文件。
- exl star:6 Excel binding to struct written in Go.(Only supports Go1.18+)
杂项
依赖注入
用于处理依赖项注入的库。 (翻译出错了? 试试 英文版 吧~)
- google/wire star:8243 Go中的自动初始化。
- fx star:2782 基于依赖注入的Go应用程序框架(构建在dig之上)。
- dig star:2536 一个基于反射的Go依赖注入工具包。
- GoLobby/Container star:351 GoLobby Container is a lightweight yet powerful IoC dependency injection container for the Go programming language.
- goioc/di star:178 受spring启发的依赖注入容器。
- di star:150 go编程语言的依赖注入容器。
- dingo star:130 基于Guice的Go依赖注入工具包。
- alice star:43 Go的外挂的依赖注入容器。
- wire star:35 适用于Go的严格运行时依赖注入(Strict Runtime Dependency Injection)。
- linker star:33 A reflection based dependency injection and inversion of control library with components lifecycle support.
- gocontainer star:15 简单的依赖注入容器。
- nject star:11 用于库、测试、http端点和服务启动的类型安全、反射框架。
- kinit star:6 可定制的依赖注入容器,具有全局模式,级联初始化和紧急安全结束。
- HnH/di star:4 DI容器库,专注于干净的API和灵活性。
项目布局
非官方的模式的结构项目。 (翻译出错了? 试试 英文版 吧~)
- golang-standards/project-layout star:32111 golang生态系统中常见的历史和新兴项目布局模式。注意:尽管这个组织名称并不代表golang的官方标准,更多信息请参见本期。尽管如此,有些人可能会发现这种布局很有用。
- ardanlabs/service star:2327 用于构建产品级可扩展web服务应用程序的starter kit。
- modern-go-application star:1205 应用程序样板和应用现代实践的例子。
- cookiecutter-golang star:520 遵循生产最佳实践快速启动项目的Go应用程序样板模板。
- pagoda star:275 Go内置快速、简单的全栈web开发入门工具包。
- golang-templates/seed star:261 Go应用程序GitHub存储库模板。
- go-starter star:150 一个自以为是的面向生产的RESTful JSON后端模板,与VSCode DevContainers高度集成。
- go-todo-backend star:150 去Todo后端示例使用模块化项目布局的产品微服务。
- scaffold star:111 Scaffold生成一个starter Go项目布局。让您关注已实现的业务逻辑。
- go-sample star:98 带有实际代码的Go应用程序项目的示例布局。
- gobase star:30 一个简单的golang应用框架,带有真实golang应用程序的基本设置。
- wangyoucao577/go-project-layout star:17 关于如何构造Go项目布局的一组实践和讨论。
- insidieux/inizio star:10 带有插件的Golang项目布局生成器。
字符串
处理字符串的库。 (翻译出错了? 试试 英文版 吧~)
- xstrings star:1039 从其他语言移植的有用字符串函数合集。
- sttr star:374 跨平台的cli应用程序,对字符串执行各种操作。
- strutil star:172 字符串处理工具。
- gobeam/Stringy star:128 字符串操作库,可以将字符串转换为驼色,蛇色,烤肉色等。
- bexp star:6 执行大括号扩展机制来生成任意字符串。
- go-formatter 实现替换字段由大括号'{}'格式字符串包围。
未分类的
这些库之所以放在这里,是因为不适合放在其他分类。 (翻译出错了? 试试 英文版 吧~)
- gopsutil star:7777 用于检索进程和系统利用率(CPU、内存、磁盘等)的跨平台的库。
- archiver star:3569 用于生成和解压.zip和.tar.gz文档的库和命令。
- gatus star:2555 自动服务运行状况仪表板。
- gofakeit star:2452 用go编写的随机数据生成器。
- base64Captcha star:1456 base64Captcha支持数字,字母,算术,音频和混合模式的验证码。
- go-resiliency star:1416 Go语言弹性模式(resiliency pattern)。
- gosms star:1383 Go编写的私人的本地短信网关,可以用来发送短信。
- go-commons-pool star:1039 Go语言的通用对象池。
- go-openapi 用于解析和使用开放api模式(open-api schemas)的包的集合。
- llvm star:899 用于在纯Go中与LLVM IR交互的库。
- shortid star:763 分布式地生成超短、唯一、非顺序、URL友好的id。
- health star:498 一个简单而灵活的Go健康检查库。
- stateless star:432 用于创建状态机的流畅库。
- health star:430 易于使用,可扩展的健康检查库。
- banner star:393 在Go应用程序中添加漂亮的横幅(banner)。
- conv star:377 conv包提供了跨Go类型(Go types)的快速和直观的转换。
- xz star:375 纯golang包读和写xz压缩文件。
- shoutrrr star:371 通知库提供了对各种消息服务(如slack、mattermost、fy和smtp等)的轻松访问。
- gountries star:339 获取国家和细节数据的包。
- ffmt star:269 美化数据,使其更适合人查看。
- lk star:243 一个简单的版权许可证库。
- antch star:232 一个快速、强大和可扩展的web爬虫框架。
- healthcheck star:221 用于RESTful服务的强制的(opinionated)并发健康检查HTTP处理程序。
- battery star:205 跨平台、标准化的电池信息库。
- bitio star:192 高度优化的位级读写器。
- go-unarr star:183 用于RAR、TAR、ZIP和7z文件的解压缩库。
- stats star:161 Monitors Go MemStats + 诸如如内存,Swap和CPU的系统状态统计,并通过UDP发送到任何你想记录的地方
- turtle star:134 Go的Emojis库。
- captcha star:98 captcha包为验证码生成提供了一个易于使用的、unopinionated的API。
- gommit star:95 分析git提交消息,确保它们遵循已定义的格式。
- indigo star:94 分布式唯一ID生成器, 使用Sonyflake并由Base58编码。
- gotoprom star:92 为Prometheus客户端提供类型安全的指标(metric)构建工具库。
- morse star:75 实现字符串与摩尔斯电码转换的库。
- persian star:63 一些适用于波斯语的Go工具库。
- faker star:62 随机假数据和结构生成器为Go。
- pdfgen star:57 通过Json请求生成PDF的HTTP服务。
- xkg star:53 X Keyboard Grabber(键盘事件捕获)
- gtree star:47 从Markdown或以编程方式为树输出和目录创建提供CLI和Package。
- browscap_go star:40 GoLang库浏览器功能项目。
- datacounter star:40 用于readers/writer/http.ResponseWriter的计数器。
- autoflags star:36 从struct字段自动定义命令行flag的Go包。
- url-shortener star:35 一个现代的、强大的、健壮的URL转短链接微服务,带有mysql支持。
- VarHandler 用于生成http输入和输出处理模板。
- sandid star:34 能沟让地球上的每一粒沙子都有自己的ID。
- gosh star:28 提供Go统计处理程序,结构和测量方法。
- xdg star:28 FreeDesktop.org (xdg)规范在Go中的实现。
- metrics star:23 用于instrumentation和Prometheus exposition的库。
- shellwords star:17 一个Go库,实现了依照UNIX Bourne shell的关键词解析规则进行字符串操纵。
- anagent star:14 Go语言的最小化,可插入的evloop/timer处理程序, 带有依赖注入。
- avgRating star:11 根据威尔逊得分排序算法(Wilson Score Equation)计算平均分和评分。
- hostutils star:10 一个用于打包和解包FQDNs列表的go语言库。
- numa star:9 NUMA是一个用go编写的实用程序库。它可以帮助我们编写一些NUMA-AWARED代码。
- openapi star:6 OpenAPI 3。x解析器。
- faker star:5 假数据生成器。
- go-commandbus star:5 一个微小的可插拔的Go命令总线。
- basexx star:2 转换为,从,和之间的数字字符串在不同的数字基数。
- varint star:2 一个比标准库中提供的更快的变长整数编码器/解码器。
自然语言处理
用于处理人类语言的库。 (翻译出错了? 试试 英文版 吧~)
See also Text Processing and Text Analysis.
语言检测
- whatlanggo star:537 Go的自然语言检测包。支持84种语言和24种脚本(书写系统,如拉丁语、西里尔语等)。
- getlang star:136 快速自然语言检测包。
- guesslanguage star:54 通过一个 unicode 文本来猜测该文本使用的语言
- detectlanguage star:15 语言检测API Go客户端。支持批量请求,短短语或单字语言检测。
形态分析
- spaGO star:1150 Go中的独立机器学习和自然语言处理库。
- spelling-corrector 西班牙语的拼写校正器或创建自己的。
- kagome star:606 JP形态学分析仪编写的纯Go。
- nlp star:381 从字符串中提取值并用nlp填充结构。
- nlp star:365 支持LSA(潜在语义分析)的Go自然语言处理库。
- RAKE.go star:93 快速自动关键字提取算法(RAKE)的Go端口。
- go-stem star:66 波特词干算法的实现。
- go2vec star:45 用于word2vec嵌入式的阅读器和实用程序函数。
- porter2 star:44 非常快的波特2史坦默。
- snowball star:31 滚雪球柄端口(cgo包装)为 Go 。提供词干提取功能Snowball native。
- paicehusk star:28 Golang实现了Paice/外壳阻塞算法。
- govader star:24 [VADER情绪分析]的Go实现(https://github.com/cjhutto/vaderSentiment)。
- golibstemmer star:19 Go 绑定斯诺鲍libstemmer库,包括波特2。
- libtextcat star:11 用于libtextcat C库的Cgo绑定。保证与版本2.2兼容。
- porter star:9 这是Martin Porter在C语言中实现的Porter词干分析算法的一个相当简单的移植。
- gosentiwordnet star:8 情绪分析器使用的多愁善感网词汇在Go。
- govader-backend star:2 Microservice implementation of GoVader.
鼻涕虫
- slug star:814 URL 友好的 slug 化工具,支持多种语言
- go-slugify star:77 生成漂亮的固定链接地址(slug),支持多种语言
- Slugify star:31 字符串 slug 化的工具。
分词器
- prose star:2924 支持标记化、词性标记、命名实体提取等文本处理的库。只说英语。
- gse star:1905 高效的文本分割;支持英语、汉语、日语等。
- gojieba star:1868 这是一个Go实现的jieba,这是一个中文分词算法。
- sentences star:321 句子标记器:将文本转换为句子列表。
- segment star:70 Go库用于执行Unicode文本分割,如Unicode标准附件#29所述。
- textcat star:67 Go package支持基于n-gram的文本分类,支持utf-8和原始文本。
- MMSEGO star:61 这是一个 Go 实现的MMSEG,这是一个中文分词算法。
- stemmer star:51 用于Go编程语言的Stemmer包。包括英语和德语词根。
- gotokenizer star:14 一种基于字典和双字母格朗语言模型的记号赋予器。(现在只支持中文分割)
- shamoji star:12 shamoji是用Go编写的word过滤包。
翻译
- go-pinyin star:1150 中文汉字到汉语拼音的转换。
- gotext star:338 GNU gettext 工具
- go-i18n 软件包和用于处理本地化文本的附带工具。
- go-localize star:34 简单易用的i18n(国际化和本地化)引擎——用于翻译语言环境字符串。
- iuliia-go star:30 直译斯拉夫字母→拉丁以所有可能的方式。
- go-mystem star:28 CGo绑定到Yandex。Mystem -俄罗斯形态学分析仪。
- icu star:20 Cgo绑定用于icu4c C库的检测和转换功能。保证与版本50.1兼容。
- t star:10 另一个用于golang的i18n pkg,它遵循GNU gettext风格并支持.po/。mo文件:“t。T (gettext)”、“T。N (ngettext)”,等等。它包含一个cmd工具xtemplate,可以从文本/html模板中提取消息作为pot文件。
- spreak star:3 Flexible translation and humanization library for Go, based on the concepts behind gettext.
音译
- go-unidecode star:92 Unicode文本的ASCII音译。
- gounidecode star:74 用于Go的Unicode音译器(也称为unidecode)。
- transliterator star:22 提供单向字符串音译,并支持特定于语言的音译规则。
- enca star:11 最小的cgo绑定libenca,它检测字符编码。
网络
用于处理各种网络层的库。 (翻译出错了? 试试 英文版 吧~)
- fasthttp star:17767 一个快速HTTP实现,比net/http快10倍。
- kcptun star:12883 基于KCP协议的非常简单和快速udp隧道。
- webrtc star:9340 WebRTC API的纯Go实现。
- quic-go star:6688 在纯Go中实现了QUIC协议。
- gnet star:6499 “gnet”是一个用纯Go编写的高性能、轻量级、非阻塞、事件驱动的网络框架。
- dns star:6283 用于 DNS 的库。
- gopacket star:4849 Go library for packet processing with libpcap bindings.
- HTTPLab star:3804 HTTPLabs 允许你检查 HTTP 请求和伪造响应。
- kcp-go star:3325 快速可靠的ARQ协议。
- gobgp star:2857 基于 Go 的 BGP 实现。
- netpoll star:2638 一个高性能的非阻塞I/O网络框架,它专注于RPC场景,由字节跳动开发。
- ssh star:2554 用于构建SSH服务器的高级API(封装密码/ SSH)。
- fortio star:2516 负载测试库和命令行工具,高级的echo服务器和web UI。允许指定一组每秒查询的负载,并记录延迟直方图和其他有用的统计数据,并将它们作图。支持Tcp、Http、gRPC。
- water star:1451 简单TUN / TAP图书馆。
- gev star:1415 gev是一个基于反应器模式的轻量级、快速的非阻塞TCP网络库。
- go-getter star:1355 通过URL来下载文件或目录。
- NFF-Go star:1202 用于快速开发云计算和裸机网络功能的框架(原YANFF)。
- sftp star:1157 软件包sftp实现SSH文件传输协议,如https://filezilla-project.org/specs/draft-ietf-secsh-filexfer-02.txt所示。
- grab star:1037 用于管理文件下载。
- ftp star:937 Package ftp实现了RFC 959中描述的ftp客户端。
- mdns star:877 简单mDNS(Multicast DNS)客户端/服务器库。
- mqttPaho Paho Go客户端提供了一个 MQTT 客户端库,用于通过TCP、TLS或WebSockets连接到MQTT代理。
- gosnmp star:847 用于执行 SNMP 操作的原生 Go 库。
- vssh star:809 Go库建立网络和服务器自动化的SSH协议。
- cidranger star:716 快速得 IP 到 CIDR 查找。
- nbio star:681 纯Go 1000k+连接解决方案,支持tls/http1。X /websocket和基本兼容的net/http,具有高性能和低内存成本,无阻塞,事件驱动,易于使用。
- lhttp star:670 强大的websocket框架,可以让你更容易的构建IM服务器。
- gmqtt star:658 Gmqtt是一个灵活、高性能的MQTT代理库,它完全实现了MQTT协议V3.1.1。
- peerdiscovery star:546 基于UDP组播的跨平台本地对等点发现库。
- go-stun star:504 实现了 STUN 客户端(RFC 3489和RFC 5389)。
- gotcp star:491 用于快速编写 tcp 应用程序。
- stun star:488 Go实现的RFC 5389 STUN协议。
- gopcap star:441 用 Go 实现了对 libpcap 的封装。
- gaio star:434 高性能异步io网络在proactor模式下的Golang。
- raw star:422 Package raw支持在设备驱动程序级别读取和写入网络接口的数据。
- tcp_server star:413 Go 图书馆建设tcp服务器更快。
- easytcp star:369 一个用Go (Golang)编写的轻量级TCP框架,与消息路由器一起构建。EasyTCP可以帮助您轻松、快速地构建TCP服务器,而且不那么痛苦。
- winrm star:363 Go WinRM客户端远程执行Windows机器上的命令。
- ftpserverlib star:303 功能齐全的FTP服务器库。
- arp star:287 实现了arp协议,如RFC 826中所述。
- buffstreams star:248 通过TCP传输协议缓冲区数据。
- ethernet star:240 实现了对IEEE 802.3以太网II帧和IEEE 802.1Q VLAN标签的编组和解组。
- gNxI star:212 一组基于 gNMI 和 gNOI 协议的网络管理工具。
- dnsmonster star:188 被动DNS捕获/监控框架。
- jazigo star:177 Jazigo是一个用Go编写的工具,用于检索多个网络设备的配置。
- utp star:163 Go uTP微传输协议的实现。
- canopus star:148 CoAP客户端/服务器实现(RFC 7252)。
- sslb star:139 它是一个超级简单的负载平衡器,只是一个实现某种性能的小项目。
- xtcp star:131 TCP服务器框架,同时全双工通信,优雅的关机,和自定义协议。
- iplib star:79 用于处理IP地址的库(net)。借鉴于python 的 ipaddress和ruby ipaddr
- ether star:78 一个用于发送和接收以太网帧的跨平台 Go 库。
- dhcp6 star:74 实现了一个DHCPv6服务器,如RFC 3315所述。
- gldap star:69 Gldap提供了一个ldap服务器实现,您可以为它的ldap操作提供处理程序。
- packet star:69 通过TCP和UDP发送数据包。它可以缓冲消息和热交换连接。
- go-powerdns star:58 Golang的PowerDNS API绑定。
- linkio star:51 网络链路速度模拟,主要用于接口的读/写。
- portproxy star:50 Simple TCP proxy which adds CORS support to API's which don't support it.
- panoptes-stream star:34 云本地分布式流媒体网络遥测(gNMI, Juniper JTI和Cisco MDT)。
- graval star:27 FTP服务器框架。
- publicip star:25 包publicip返回面向公共的IPv4地址(internet出口)。
- golibwireshark star:24 用于解码 pcap 文件和分析解剖数据。
- gohooks star:16 gohook使得从Go应用程序发送和使用安全的web钩子变得很容易。灵感来自空间的Laravel Webhook客户端和服务器。
- goshark star:14 用于解码IP包,创建用于分析的数据结构包。
- httpproxy star:12 HTTP代理处理程序和拨号。
- llb star:12 一个非常简单、快速的代理服务器后端。可用于快速重定向到预定义域,具有零内存分配和快速响应。
- tspool star:12 TCP库使用工作池来提高性能并保护服务器。
HTTP客户端
用于发出HTTP请求的库。 (翻译出错了? 试试 英文版 吧~)
- resty star:6135 简单的 HTTP 和 REST 客户端,受到 Ruby rest-client 的启发。
- req star:2342 简单的去HTTP客户端与黑魔法(更少的代码和更高的效率)。
- heimdall star:2268 一个增强的http客户端,具有重试和hystrix功能。
- grequests star:1881 一个 Go “克隆”的伟大和著名的请求库。
- sling star:1439 Sling是一个用于创建和发送API请求的Go HTTP客户端库。
- go-retryablehttp star:1193 Go中可重试的HTTP客户端。
- gentleman star:954 功能齐全的插件驱动HTTP客户端库。
- pester star:587 使用重试、后退和并发执行HTTP客户机调用。
- requests star:346 gopher的HTTP请求。使用上下文。上下文,并且不隐藏底层的net/http。客户端,使其与标准Go api兼容。还包括测试工具。
- go-cleanhttp star:247 很容易获得stdlib HTTP客户端,它不与其他客户端共享任何状态。
- request star:201 golang的HTTP客户端。如果您有关于axios或请求的经验,您会喜欢它。没有第三依赖性。
- go-http-client star:40 简单而容易地进行http调用。
- rq star:40 golang stdlib HTTP客户端更好的接口。
- go-otelroundtripper star:20 http。为HTTP请求发出开放遥测指标的RoundTripper。
- httpretry star:20 用重试功能丰富默认的go HTTP客户端。
- go-req star:15 声明式golang HTTP客户端。
- httpc star:4 一个可定制的简单HTTP客户端库。仅依赖于标准lib HTTP客户端。
OpenGL
用于在Go中使用OpenGL的库。 (翻译出错了? 试试 英文版 吧~)