jjzjj

Go常用第三方库集锦

Go语言由浅入深 2023-10-08 原文

来自Go每日一库

  • flag Go 标准库提供的命令行选项解析库,简单实用。
  • go-flags 第三方命令行选项解析库,非常强大。
  • go-homedir 不使用 cgo 获取用户主目录的第三方库,支持交叉编译。
  • go-ini 解析 INI 配置文件的第三方库。
  • cobra 编写命令行程序的库,并提供生成代码的脚手架。
  • viper 灵活强大的配置管理工具,支持多种 JSON/TOML/YAML 等多种配置格式,支持热更新。
  • fsnotify 监控文件或目录改动的第三方库。
  • cast 方便实用的类型转换库。
  • log Go 标准日志库。
  • logrus 使用非常广泛的开源日志库。
  • godotenv 读取项目目录中的 .env 文件设置程序的环境变量。支持多种开发模式dev/prod
  • carbon 功能强大的日期时间库,仿 PHP 的同名库。
  • email 发送邮件的第三方库。
  • dig Uber 出品的依赖注入库。
  • gojsonq Go 操作 JSON 数据的库,支持基本操作和花式操作方法。
  • message-bus 异步消息通信库。
  • watermill 功能丰富的消息通信库。
  • wire Google 出品的依赖注入框架,编译前自动生成 Go 代码,无需反射。
  • mergo 合并结构体和 map 的库。
  • copier 处理相同或不同结构体/map 之间的赋值。
  • jennifer Go 代码生成库。
  • go-cmp Google 出品的比较库,一般用于测试代码中。
  • buntdb Go 实现的内存键值库,支持 JSON 操作和事务。
  • gjson 专注于读取 JSON 值的库。
  • sjson 专注于设置 JSON 值的库。
  • jj 操作 JSON 数据的命令行程序。
  • govaluate 计算动态 Go 表达式的库。
  • validator 使用最为广泛的数据校验库。
  • gopsutil 获取各种系统信息的库。
  • gentleman HTTP 客户端。
  • plot 绘图库。
  • gron 定时任务管理库。
  • go-app 使用 Go + Webassembly 编写应用的库。
  • zap Uber 出品的高性能日志库。
  • zerolog 高性能日志库,专注于 JSON 格式的日志,号称 0 内存分配。
  • nutsdb 国人开发的内存键值库,支持备份和还原。
  • sqlc 根据 SQL 语句生成相应操作数据库的 Go 代码。
  • xorm ORM 库。
  • rpc 标准 RPC 库。
  • jsonrpc 标准 JSON-RPC 库。
  • rpcx 基于标准 RPC 库扩展的功能强大、高性能的 RPC 框架。
  • twirp twitchtv 出品的基于 Google Protobuf 的 RPC 库。
  • casbin 灵活、强大的权限管理库,支持多种语言。
  • fyne Go GUI 框架。
  • negroni Go 中间件库。
  • cli 命令行程序库,方便编写命令行程序。
  • cron 定时任务管理库,对标 Linux 的 crontab 命令。
  • mapstructure 结构体和 map 转换库。
  • jobrunner 基于 cron 的定时任务管理库。
  • gabs JSON 操作库。
  • commonregex 收集常用的正则表达式。
  • quicktemplate Go 模板库,预先编译为 Go 代码。
  • air 监听文件修改,自动编译,重启 Go 程序。提升开发效率。
  • goquery Go 的jQuery
  • rxgo 基于pipelines的异步编程库。
  • bytebufferpool 基于sync.Pool实现的高性能对象缓冲池。
  • gotalk 专注于进程间通信的库。
  • fasttemplate 一款小型的模板库,可用于替换strings.Replacefmt.Sprintf
  • reflect 反射标准库reflect详解。
  • ants goroutine 池。
  • tunny 另一个 goroutine 池实现。
  • bubbletea TUI 程序框架。
  • ozzo-validation 数据校验库。
  • dateparse 日期时间字符串解析库。
  • resty HTTP client。
  • termtables 控制台输出表格。
  • colly Go 语言的爬虫框架。
  • net/http: 基础和中间件
  • gorilla/mux gorilla Web 开发包之路由库
  • gorilla/handlers gorilla Web 开发包之中间件库
  • gorilla/schema gorilla Web 开发包之表单处理库
  • gorilla/securecookie gorilla Web 开发包之安全 cookie 库
  • gorilla/sessions gorilla Web 开发包之 session 处理库
  • goth 第三方认证合集
  • testing 标准库测试包
  • testify Go 最流行的测试库

有关Go常用第三方库集锦的更多相关文章

  1. ruby-on-rails - Rails 常用字符串(用于通知和错误信息等) - 2

    大约一年前,我决定确保每个包含非唯一文本的Flash通知都将从模块中的方法中获取文本。我这样做的最初原因是为了避免一遍又一遍地输入相同的字符串。如果我想更改措辞,我可以在一个地方轻松完成,而且一遍又一遍地重复同一件事而出现拼写错误的可能性也会降低。我最终得到的是这样的:moduleMessagesdefformat_error_messages(errors)errors.map{|attribute,message|"Error:#{attribute.to_s.titleize}#{message}."}enddeferror_message_could_not_find(obje

  2. ruby - 尝试比较两个文本文件,并根据信息创建第三个 - 2

    我有两个文本文件,master.txt和926.txt。如果926.txt中有一行不在master.txt中,我想写入一个新文件notinbook.txt。我写了我能想到的最好的东西,但考虑到我是一个糟糕的/新手程序员,它失败了。这是我的东西g=File.new("notinbook.txt","w")File.open("926.txt","r")do|f|while(line=f.gets)x=line.chompifFile.open("master.txt","w")do|h|endwhile(line=h.gets)ifline.chomp!=xputslineendende

  3. ruby-on-rails - Textmate 'Go to symbol' 相当于 Vim - 2

    在Railcasts上,我注意到一个非常有趣的功能“转到符号”窗口。它像Command-T一样工作,但显示当前文件中可用的类和方法。如何在vim中获取它? 最佳答案 尝试:helptags有各种程序和脚本可以生成标记文件。此外,标记文件格式非常简单,因此很容易将sed(1)或类似的脚本组合在一起,无论您使用何种语言,它们都可以生成标记文件。轻松获取标记文件(除了下载生成器之外)的关键在于格式化样式而不是实际解析语法。 关于ruby-on-rails-Textmate'Gotosymbol

  4. 电脑怎么截图?进来看(8种常用截图方法) - 2

    电脑上可以截取图片吗?如果可以,该如何操作呢?相信很多小伙伴都只知道一两种截图的方式,知道的并不全面。其实,电脑上有多种方式截图的,而且非常方便。电脑怎么截图?今天我们就来教大家如何使用电脑截取图片的8种常用方式!操作环境:演示机型:Delloptiplex7050系统版本:Windows10方法一:系统自带截图具体操作:同时按下电脑的自带截图键【Windows+shift+S】,可以选择其中一种方式来截取图片:截屏有矩形截屏、任意形状截屏、窗口截屏和全屏截图。 方法二:QQ截图具体操作:在电脑登录QQ,然后同时按下【Ctrl+Alt+A】,可以任意截图你需要的界面,可以把截图的页面直接下载,

  5. Unity常用文件夹 - 2

    1.Scenes游戏场景文件夹用于放置unity的场景文件 2.Plugins插件文件夹用于放置unity的依赖文件,例如dll 3.Scripts脚本文件夹用于放置unity的c#脚本文件 4.Resources游戏资源文件夹用于放置unity的各种游戏资源,比如images,prefabs,同时只有放到Resources文件夹的游戏资源才能使用Resource.load(资源路径不加后缀)加载到游戏内存中进行使用 5.EditorUnity编辑器扩展脚本文件夹usingUnityEditor;这个名称空间就是Unity编辑器的名称空间这个名称空间提供了扩展Unity编辑器的各种类 【你所有

  6. ruby-on-rails - 用于 Ruby 的 vim 中的全局 "Go to definition"? - 2

    自97年以来我一直在使用vi/vim进行各种快速编辑和管理任务,但最近才考虑使用它来替换Netbeans作为我选择的ruby​​编辑器。我发现一件事在Netbeans和Eclipse中非常有用的是Ctrl+Click“转到定义”功能,您可以在其中按住Ctrl键并单击一个类或方法,然后它将带您了解定义。现在,我玩过丰富的ctags和rails.vim,而且很接近,但没有雪茄。这就是我想要的:默认情况下在Netbeans和Eclipse中,您可以在本地rails中按住ctrl并单击本地方法或类项目,但你也可以ctrl+click定义在gems或用Ruby编写的系统库。以Netbeans为例

  7. 【VeighNa】开始量化交易——第三章:构建价差套利 - 2

    文章目录1.价差套利原理1.1概述1.2以BTC为例2.投研分析3.veighna的价差交易回测引擎4.实盘交易1.价差套利原理1.1概述在数字货币交易市场,我们会发现大多数行情下,相同币种之间的不同交割合约会存在一定的价差,由于它们属于同一品种,本身价值不会有任何差别,而且涨跌趋势一致,相关性高。那么如果在它们价差低的时候买入,价差高的时候卖出,这样我们就可以赚取中间的这部分差价。不过在实际交易过程中,我们还需要考虑到交易滑点、手续费、极端行情下,价差走出趋势特征…1.2以BTC为例图一、不同合约的比特币行情图由上图可以看出比特币远月合约与永续合约之间存在一定的价差。图二、某一时刻比特币价差

  8. Spark的常用SQL日期函数 - 2

    一、获取当前时间1、current_date当前日期(年月日)Examples:SELECTcurrent_date;2、current_timestamp/now()当前日期(时间戳)Examples:SELECTcurrent_timestamp;二、从日期字段中提取时间1、year,month,day/dayofmonth,hour,minute,secondExamples:SELECTyear(now());其他的日期函数以此类推month:1day:12(当月的第几天)dayofmonth:12hour,minute,second:分别对应时分秒2、dayofweek、dayofm

  9. ruby-on-rails - Ruby DateTime 格式 : How can I get 1st, 第二、第三、第四? - 2

    首先,DateTime格式变量似乎没有在任何地方记录,因此对可以在rubydocs中向我展示此内容的任何人+1。其次,在查看Date.strftime函数代码时,我没有看到任何可以让我执行以下操作的内容:2010年9月9日,星期四有人知道这是否可行吗? 最佳答案 您可能想要takealookhere.总结time=DateTime.nowtime.strftime("%A,%B#{time.day.ordinalize}%Y")请注意,您在纯Ruby(2.0)中运行,您需要调用:require'active_support/core

  10. 修改第三方UI组件库样式的四种方法 - 2

    前提:当我们要修改vant组件库中Tabbar图标大小的样式(原图标是字体图标,大小由font-size控制)。  字体图标字体大小由css变量(--van-tabbar-item-icon-size)控制, 1.插槽方法结论:当你想要自定义使用插槽时,插入自己的元素,那么可以直接在当前作用域直接修改元素的样式。自定义img{height:28px}传入图片,用height属性控制图片大小,达到与字体图标相同效果2.全局定义变量结论:全局定义一个变量,覆盖它默认变量的值定义变量缺点:全局修改。 :root{--van-tabbar-item-icon-size:30px!important;/

随机推荐