首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
🐭Go每日一库
luckzack
创建于2023-10-13
订阅专栏
日拱一卒,功不唐捐。
等 190 人订阅
共122篇文章
创建于2023-10-13
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
Go每日一库之49:mapstructure
## 简介 [`mapstructure`](https://github.com/mitchellh/mapstructure)用于将通用的`map[string]interface{}`解码到对应的 Go 结构体中,或者执行相反的操作。很多时候,解析来自多种源头的数据流时,我们一般事先并不知道他
Go每日一库之175:goexpr (通用表达式引擎)
`goexpr`是一个`golang`实现的通用`表达式引擎(expression engine)`,支持自定义`操作数(operand)`,`操作符(operator)`以及`函数(function)`。 [体验地址](https://git.woa.com/goexpr/goexpr) ## 1
Go每日一库之75:gorilla-schema
## 简介 [`gorilla/schema`](https://github.com/gorilla/schema) 是 gorilla 开发工具包中用于处理表单的库。它提供了一个简单的方式,可以很方便地将表单数据转为结构体对象,或者将结构体对象转为表单数据。 ## 快速使用 本文代码使用 Go
Go每日一库之19:mergo
简介 今天我们介绍一个合并结构体字段的库mergo。mergo可以在相同的结构体或map之间赋值,可以将结构体的字段赋值到map中,可以将map的值赋值给结构体的字段。感谢@thinkgos推荐。 快速使用 先安装: $ go get github.com/imdario/mergo 后使用: pa
Go每日一库之59:bytebufferpool
## 简介 在编程开发中,我们经常会需要**频繁**创建和销毁同类对象的情形。这样的操作很可能会对性能造成影响。这时,常用的优化手段就是使用**对象池**(object pool)。需要创建对象时,我们先从对象池中查找。如果有空闲对象,则从池中移除这个对象并将其返回给调用者使用。只有在池中无空闲对象
Go每日一库之82:govalidator
一个用于字符串、数字、切片和结构体的校验库和过滤库。基于[validator.js](https://github.com/chriso/validator.js)。 ### 安装 在终端中输入以下命令: ```bash go get github.com/asaskevich/govalidato
Go每日一库之70:termtables
## 简介 今天学个简单点的,[`termtables`](github.com/scylladb/termtables)处理表格形式数据的输出。适用于随时随地的输出一些状态或统计数据,便于观察和调试。是一个很小巧的工具库。我在学习[`dateparse`](https://go-quiz.gith
Go每日一库之55:quicktemplate
## 简介 最近在整理我们项目代码的时候,发现有很多活动的代码在结构和提供的功能上都非常相似。为了方便今后的开发,我花了一点时间编写了一个生成代码框架的工具,最大程度地降低重复劳动。代码本身并不复杂,且与项目代码关联性较大,这里就不展开介绍了。在这个过程中,我发现 Go 标准的模板库`text/te
Go每日一库之118:netlink(内核通信)
# 什么是netlink? netlink 是 Linux 系统里用户态程序、内核模块之间的一种 IPC 方式,特别是用户态程序和内核模块之间的 IPC 通信。比如在 Linux 终端里常用的 ip 命令,就是使用 netlink 去跟内核进行通信的。例如想在golang代码中实现ip link a
Go每日一库之28:validator
简介 今天我们来介绍一个非常实用的库——validator。validator用于对数据进行校验。在 Web 开发中,对用户传过来的数据我们都需要进行严格校验,防止用户的恶意请求。例如日期格式,用户年龄,性别等必须是正常的值,不能随意设置。 快速使用 先安装: $ go get gopkg.in/g
Go每日一库之93:mmap
## 1 mmap 简介 > In computing, mmap is a POSIX-compliant Unix system call that maps files or devices into memory. It is a method of memory-mapped fil
Go每日一库之121:moby(操作docker容器)
在日常开发中,测试是不可避免的,在针对DAO层的代码写测试用例的时候,直接将依赖的存储服务(比如mongodb)的client给mock掉,可能达不到检验代码中语法或数据操作正确性的目的。如果在本地起一个相关的存储服务又会由于不同的项目带来环境的污染,并且测试代码由于依赖本地环境可能导致多人协作困难
Go每日一库之143:servicegroup(进程内优雅管理多个服务)
## 前言 在 go-zero 社区里,经常会有同学问,把 `API gateway` 和 `RPC service` 放在同一个进程内可不可以?怎么弄?有时也会有同学把对外服务和消费队列放在一个进程内。咱们姑且不说此种用法合理与否,因为各个公司的业务场景和开发模式的差异,我们就只来看看此类问题怎么
Go每日一库之111:ip2location
# 简介 很多时候,我们获取了用户ip,但是想知道更多信息,怎么办?使用[ip2location](https://github.com/ip2location/ip2location-go)吧。 这个库,可以从IP地址快速查找国家,地区,城市,纬度,经度,邮政编码,时区,ISP,域名,连接类型,I
Go每日一库之95:HttpRequest
Go语言HttpRequest项目源码地址: [https://github.com/kirinlabs/HttpRequest](https://github.com/kirinlabs/HttpRequest) 主要实现功能 1. 支持常用的GET、POST、DELETE、PUT等 2. GET
Go每日一库之147:goldmark(Markdown转html)
# 简介 使用 Markdown 书写结构化的文档和评论已经相当流行了,Web 服务需要将用户编写的 Markdown 文本转换为 html 以便浏览器渲染,还常常需要对 Markdown 语法进行自定义扩展以实现个性化的功能。 本期要介绍的 [**goldmark **](https://gith
Go每日一库之68:dateparse
## 简介 不管什么时候,处理时间总是让人头疼的一件事情。因为时间格式太多样化了,再加上时区,夏令时,闰秒这些细枝末节处理起来更是困难。所以在程序中,涉及时间的处理我们一般借助于标准库或第三方提供的时间库。今天要介绍的[`dateparse`](https://github.com/araddon/
Go每日一库之160:gvm(Go版本管理)
[**gvm **](https://github.com/moovweb/gvm)用于go版本的管理,主要的功能为go版本的查看,下载安装和切换。 ## 安装 ```bash $bash < <(curl -s -S -L https://raw.githubusercontent.c
Go每日一库之179:env(将系统环境变量解析到结构体的库)
该包的实现是基于标准库os/env包中的相关函数(比如Getenv)来获取系统的环境变量的。获取到环境变量值后,再通过结构体中的tag,将值映射到对应的结构体字段上。 ### 使用示例 下面是将系统的一些环境变量映射到config结构体的示例。如下: 我们可以像以下这样运行该代码: ```shell
Go每日一库之148:base64Captcha(多种形式验证码)
[Base64captcha](https://github.com/mojocn/base64Captcha) 几行代码就可以定义自己内容的图形验证码库,支持任意unicode字符的内容. ## 1. 文档&Demo - [English](https://godoc.org/github
下一页