Golang 常用工具记录

1 golang 类

1.1 日常使用的

copier

复制结构体到另外一个结构体 等等类似的功能

asynq

Go中简单、可靠、高效的分布式任务队列,使用 redis 做为 broker

machinery

Machinery是基于分布式消息传递的异步任务队列/作业队列。

resty

resty是 Go 语言的一个 HTTP client 库。resty功能强大,特性丰富。它支持几乎所有的 HTTP 方法。(GET/POST/PUT/DELETE/OPTION/HEAD/PATCH等),并提供了简单易用的 API。

1.2 日志包

sirupsen/logrus

go get github.com/sirupsen/logrus

golang 的日志包

uber-go/zap

go get -u go.uber.org/zap

golang 的日志包

1.3 配置文件解析

go-ini/ini

go get gopkg.in/ini.v1

ini 配置文件解析工具

spf13/viper

go get github.com/spf13/viper

golang 的配置文件解析工具,支持多种格式,常用这个

2 grpc 类

grpcui

调试grpc服务的工具

sql2pb

将数据库中的表转成 proto 文件,go-zero-looklook就用到了这个工具

3 web框架

gin-gonic/gin

go get -u github.com/gin-gonic/gin

http 框架

gorilla/websocket

go get github.com/gorilla/websocket

websocket 库

据说性能低,每次 write 都要加锁,无法并发写入,不支持go 上下文特性,据说还会导致连接不会释放? 这个还不确定哦!!!

nhooyr/websocket

go get nhooyr.io/websocket

websocket 库,后面项目中用到,可以试试这个

validator

go get github.com/go-playground/validator/v10

web 参数校验常用的库

4 跟数据库打交道的

4.1 sql 类

go-gorm/gorm

go get -u github.com/jinzhu/gorm

golang 的 orm 框架

gormt

mysql数据库转 struct 工具,可以将mysql数据库自动生成golang sturct结构,带大驼峰命名规则。带json标签

squirrel

Go 的流畅 SQL 生成器

4.2 no sql 类

mongo-go-driver

go get go.mongodb.org/mongo-driver/mongo

mongodb 的驱动器

go-redis/redis

# redis6.X
go get github.com/go-redis/redis/v8 # redis7.x
go get github.com/go-redis/redis/v9

5 跟消息队列 打交道的

5.1 kafka 类

segmentio/kafka-go

go get github.com/segmentio/kafka-go

kafka 客户端,有个现象,同步生产很慢,但是异步生成就很快。
go-queue中的kq 就是用的 kafka-go

confluentinc/confluent-kafka-go

go get -u github.com/confluentinc/confluent-kafka-go/kafka

kafka 客户端。go 调 c++的库,性能强,就是编译麻烦些

Golang 常用工具记录的更多相关文章

  1. linux 常用工具记录及简介

    前言 linuxz虽然各种软件的生态还比较差,但是大势所趋,早晚都是要用的.记录下自己常用的软件,要是那天系统崩了重装也舒服点 编程工具 pycharm专业版(社区版也能用,只是用惯了专业版) * 下 ...

  2. (转载)分享常用的GoLang包工具

    分享常用的GoLang包工具 包名 链接地址 备注 Machinery异步队列 https://github.com/RichardKnop/machinery Mqtt通信 github.com/e ...

  3. golang常用库:cli命令行/应用程序生成工具-cobra使用

    golang常用库:cli命令行/应用程序生成工具-cobra使用 一.Cobra 介绍 我前面有一篇文章介绍了配置文件解析库 Viper 的使用,这篇介绍 Cobra 的使用,你猜的没错,这 2 个 ...

  4. spring中常用工具类介绍

    http://www.cnblogs.com/langtianya/p/3875103.html 文件资源操作     Spring 定义了一个 org.springframework.core.io ...

  5. 2015第30周三Spring常用工具类

    文件资源操作 文件资源的操作是应用程序中常见的功能,如当上传一个文件后将其保存在特定目录下,从指定地址加载一个配置文件等等.我们一般使用 JDK 的 I/O 处理类完成这些操作,但对于一般的应用程序来 ...

  6. linux系统监控常用工具

    linux系统监控常用工具 一.系统核心工具包(coreutils) 1./bin/df 报告系统的磁盘空间用量 df -h  显示磁盘分区fdisk -l 2./bin/uname 显示系统信息 u ...

  7. 给c++程序员的一份礼物——常用工具集

    给c++程序员的一份礼物——常用工具集 [声明]如需复制.传播,请附上本声明,谢谢.原文出处:http://morningspace.51.net/,moyingzz@etang.com 所谓&quo ...

  8. PHP常用工具类

    <?php namespace isslib\Util; use think\Config; /** * 常用工具类 * User: xaxiong * Date: 2016/12/19 * T ...

  9. commons-lang3-3.2.jar中的常用工具类的使用

    这个包中的很多工具类可以简化我们的操作,在这里简单的研究其中的几个工具类的使用. 1.StringUtils工具类 可以判断是否是空串,是否为null,默认值设置等操作: /** * StringUt ...

  10. Playmaker全面实践教程之Playmaker常用工具

    Playmaker全面实践教程之Playmaker常用工具 Playmaker常用工具 Playmaker插件搭载了8个工具:FSM Browser.State Browser.Templates.T ...

随机推荐

  1. Harbor简单搭建以及异常排查的过程与思路

    Harbor简单搭建以及异常排查的过程与思路 前言 我发现我总是能够遇到别人遇不到的问题. 本来搭建十分钟就可以搭建完成 结果我硬生生的搭建了四十分钟. 为了保证下次不再浪费时间. 这里加单总结一下遇 ...

  2. Linux 清理 防火墙已有IP地址的方法

    最简单的处理 for i in `firewall-cmd --zone=trusted --list-sources` ;do firewall-cmd --zone=trusted --remov ...

  3. HBase深度历险 | 京东物流技术团队

    简介 HBase 的全称是 Hadoop Database,是一个分布式的,可扩展,面向列簇的数据库,是一个通过大量廉价的机器解决海量数据的高速存储和读取的分布式数据库解决方案.本文会像剥洋葱一样,层 ...

  4. 如何从0开始搭建 Vue 组件库

    作者:京东零售 陈艳春 前言: 组件设计是通过对功能及视觉表达中元素的拆解.归纳.重组,并基于可被复用的目的,形成规范化的组件,通过多维度组合来构建整个设计方案,將这些组件整理在一起,便形成组件库.本 ...

  5. 【代码分享】使用 avx2 + 查表法,优化凯撒加密

    作者:张富春(ahfuzhang),转载时请注明作者和引用链接,谢谢! cnblogs博客 zhihu Github 公众号:一本正经的瞎扯 接上一篇:[代码分享]使用 avx512 + 查表法,优化 ...

  6. 安装 Nginx 修改默认端口

    用远程工具连接我们上次购买的机器,这里我要介绍一个知识点,博主使用的工具是 MobaXterm,这个工具有一个多操作的功能,在下图的位置可以开启多操作,然后连接你的服务器机子即可: 首先我们将机子里面 ...

  7. C/C++ 通过HTTP实现文件上传下载

    WinInet(Windows Internet)是 Microsoft Windows 操作系统中的一个 API 集,用于提供对 Internet 相关功能的支持.它包括了一系列的函数,使得 Win ...

  8. C/C++ 病毒破坏手法总结

    针对注册表恶意修改: #include <stdio.h> #include <Windows.h> // 禁用系统任务管理器 void RegTaskmanagerForbi ...

  9. Linux系统的一些实用操作 [补档-2023-07-30]

    Linux的实用操作 4-1.常用快捷键 强制停止:当某些程序运行时,或者命令输入错误时,可以通过 ctrl + c 来强制结束当前的操作. 退出或登出:当我们要退出某些用户时,或者要退出某些特殊的页 ...

  10. spring框架中RESTFUL接口相关注解

    1.说明 springboot 是国内最常用的web框架,因为它的http server功能是最重要的.本文列举了一些现在通用的restful形式的接口所需要的注解 2.@RequestMapping ...