Skip to content

520MianXiangDuiXiang520/GoTools

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

37 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GoTools

GoDoc

Gitmoji

包含一些平时 Go 开发过程中积累的小工具。 使用:

go get github.com/520MianXiangDuiXiang520/GoTools

CheckTools

这是一个通过结构体标签快速检查值是否合法的工具,可以为结构体字段添加 check 标签,并使用 Check() 函数检查,目前支持以下标签:

int, int8, int16, int32, int64:

标签示例 作用
not nullnot zero 非零判断
size: [0, 10] 判断范围在 0 到 10 之间,开区间
more: 10 判断值大于10
less: 10 判断值小于 10
equal: 10 判断值等于 10

string:

标签示例 作用
not null 不为空
len: [2, 10] 字符串长度在 2 到 10 之间(闭区间)
email 判断是否是一个电子邮件
  • 注意:len 判断的是字符串底层字符数组的长度,对于中文或其他语言可能产生意外

slice:

标签示例 作用
len: [2, 10] 元素长度在 2 到 10 之间(开区间)

ptr:

标签示例 作用
not nullnot nil 判断是否为空指针

struct:

如果一个 struct 包含另一个 struct, 则允许递归判断, 具体用法请参考 godoc

daoTools

与数据库相关的工具函数,目前包含:

  • conn: 一个数据库连接工具
  • Transaction: 一个数据库事务工具
  • redis: 一个 redis 连接工具

具体用法请参考 godoc 文档

emailTools

对 goemail 的简单封装,可以更加简单的实现群发,抄送,密送,附件等功能, 具体使用请参考 godoc