首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
🐭Go每日一库
luckzack
创建于2023-10-13
订阅专栏
日拱一卒,功不唐捐。
等 190 人订阅
共122篇文章
创建于2023-10-13
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
Go每日一库之141:go-bindata(嵌入静态文件)
使用 Go 开发应用的时候,有时会遇到需要读取静态资源的情况。比如开发 Web 应用,程序需要加载模板文件生成输出的 HTML。在程序部署的时候,除了发布应用可执行文件外,还需要发布依赖的静态资源文件。这给发布过程添加了一些麻烦。既然发布单独一个可执行文件是非常简单的操作,就有人会想办法把静态资源文
Go每日一库之134:fsm(基有限状态机库)
开发中,我们经常会遇到这种情况,服务模块有多种状态,它们有一定的顺序,先后执行,逐步切换。这时,fsm这个库可以帮助我们更好的管理多个状态。 fsm库,它主要基于两个FSM实现,增加了golang版本的实现: - Javascript Finite State Machine, [https://g
Go每日一库之170:user-agent
## 一、User-Agent是什么 User-Agent叫做用户代理,是HTTP协议中请求头中的一个字段值。通过该字段值可以告诉网站服务器用户使用的什么产品发送的http请求。该信息一般发送请求的产品名称、操作系统、版本号等信息。大家熟知的浏览器其实就是所谓的一种用户代理。 通过谷歌的chrome
Go每日一库之29:gopsutil
## 简介 `gopsutil`是 Python 工具库[`psutil`](https://github.com/giampaolo/psutil) 的 Golang 移植版,可以帮助我们方便地获取各种系统和硬件信息。`gopsutil`为我们屏蔽了各个系统之间的差异,具有非常强悍的可移植性。有了
Go每日一库之34:zap
## 简介 在很早之前的文章中,我们介绍过 Go 标准日志库[`log`](https://go-quiz.github.io/2020/02/07/godailylib/log/)和结构化的日志库[`logrus`](https://go-quiz.github.io/2020/02/07/god
Go每日一库之102:grpcurl
[grpcurl](https://github.com/fullstorydev/grpcurl)是一个命令行工具,使用它可以在命令行中访问gRPC服务,就像使用curl访问http服务一样。 ## 准备 **在gRPC服务中注册reflection服务:** gRPC服务是使用Protobuf(
Go每日一库之174:delve (Go 调试工具)
## 简介 `Delve` 用来调试 `Go` 语言开发的程序,该工具的目标是为 `Go` 语言提供一个简单、功能齐全的调试工具。 ## 为什么不推荐 gdb - • gdb 对 Go 的调试支持是通过一个 python 脚本文件 
Go每日一库之80:testify
## 简介 [`testify`](https://github.com/stretchr/testify)可以说是最流行的(从 GitHub star 数来看)Go 语言测试库了。`testify`提供了很多方便的函数帮助我们做`assert`和错误信息输出。使用标准库`testing`,我们需要
Go每日一库之186:sonic(高性能JSON库)
## 介绍 我们在日常开发中,常常会对JSON进行序列化和反序列化。Golang提供了`encoding/json`包对JSON进行`Marshal/Unmarshal`操作。但是在大规模数据场景下,该包的性能和开销确实会有点不够看。在生产环境下,JSON 序列化和反序列化会被频繁的使用到。在测试中
Go每日一库之161:grm(Redis Web管理工具)
[GRM ](https://github.com/gphper/grm)是基于 go+vue 的 web 版 redis 管理工具,部署简单便捷,支持 SSH 连接,用户校验,操作日志、命令行模式、LUA脚本执行等功能。 ### 介绍 基于go+vue的web版redis管理工具【Web redi
Go每日一库之180:fastcache(协程安全且支持大量数据存储的高性能缓存库)
> fastcache 是一个线程安全并且支持大量数据存储的高性能缓存组件库。 这是官方 `Github` 主页上的项目介绍,和 `fasthttp` 名字一样以 `fast` 打头,作者对项目代码的自信程度可见一斑。此外该库的核心代码非常轻量, 笔者本着学习的目的分析下内部的代码实现。 ##
Go每日一库之145:MinIO(高性能对象存储)
1. MinIO 简介 MinIO 是一个基于 Go 实现的高性能、兼容 S3 协议的对象存储。它采用 GNU AGPL v3 开源协议,项目地址是 https://github.com/minio/minio,官网是 https://min.io。 它适合存储海量的非结构化的数据,例如说图片、音频
Go每日一库之173:Pie (高性能、类型安全的slice操作库)
在Go语言中,对slice和map是我们最常用的数据结构。比如,计算两个切片的交集、差集;判断切片中的元素是否都满足某个条件的等。我推荐大家使用这个包:`[elliotchance/pie](https://github.com/elliotchance/pie)`。 该包封装了**对切片和map的
Go每日一库之151:aurora(终端输出上色)
## 背景介绍 今天跟大家推荐一款可以给终端输出上色的工具--[aurora](https://github.com/logrusorgru/aurora)。  ## 极速上手 ### 准备工
Go每日一库之113:retry-go
在微服务架构中,通常会有很多的小服务,小服务之间存在大量 RPC 调用,但时常因为网络抖动等原因,造成请求失败,这时候使用重试机制可以提高请求的最终成功率,减少故障影响,让系统运行更稳定。[retry-go](https://github.com/avast/retry-go) 是一个功能比较完善的
Go每日一库之2:go-flags
## 简介 在[上一篇文章](https://go-quiz.github.io/2020/01/07/godailylib/flag/)中,我们介绍了`flag`库。`flag`库是用于解析命令行选项的。但是`flag`有几个缺点: - 不显示支持短选项。当然上一篇文章中也提到过可以通过将两个选项
Go每日一库之47:cli
## 简介 [`cli`](https://github.com/urfave/cli)是一个用于构建命令行程序的库。我们之前也介绍过一个用于构建命令行程序的库[`cobra`](https://go-quiz.github.io/2020/01/17/godailylib/cobra/)。在功能上
Go每日一库之37:sqlc
## 简介 在 Go 语言中编写数据库操作代码真的非常痛苦!`database/sql`标准库提供的都是比较底层的接口。我们需要编写大量重复的代码。大量的模板代码不仅写起来烦,而且还容易出错。有时候字段类型修改了一下,可能就需要改动很多地方;添加了一个新字段,之前使用`select *`查询语句的地
Go每日一库之62:reflect
## 简介 反射是一种机制,在编译时不知道具体类型的情况下,可以透视结构的组成、更新值。使用反射,可以让我们编写出能统一处理所有类型的代码。甚至是编写这部分代码时还不存在的类型。一个具体的例子就是`fmt.Println()`方法,可以打印出我们自定义的结构类型。 虽然,一般来说都不建议在代码中使用
Go每日一库之108:elastic
[elastic](https://github.com/olivere/elastic)是go语言中与ElasticSearch交互使用最多的一个库。 首先要根据ElasticSearch版本选择对应的库: | **Elasticsearch version** | **Elastic versi
下一页