go-tagexprGo 结构体标签表达式
go-tagexpr 由字节跳动开源,实现了 Golang 结构体标签表达式解释器,可用于各种场景的请求参数校验。
主要特性:
支持各种常用运算符
支持访问数组、切片、字典的成员
支持访问当前结构中任意字段
支持访问嵌套字段、非导出字段等
内置 len、sprintf、regexp 函数
支持单表达式与多表达式两种定义模式
提供了参数校验子包
可以看一个参数校验的小例子:
package validator_test import ( "fmt" "github.com/bytedance/go-tagexpr/validator" ) func Example() { var vd = validator.New("vd") type InfoRequest struct { Name string `vd:"($!='Alice'||(Age)$==18) && regexp('\\w')"` Age int `vd:"$>0"` } info := &InfoRequest{Name: "Alice", Age: 18} fmt.Println(vd.Validate(info) == nil) // Output: // true }
评论
DirectStructC 结构体工具
DirectStruct是一个强有力的代码自动生成工具,它可以自动生成C结构体与XML、JSON、二进制(带压缩)等报文之间的转换代码,还能自动生成ESQL代码片段,在应用中直接使用自动化代码以提高开
DirectStructC 结构体工具
0
StructsGo 结构体实用工具
Structs包括各种Go(Golang)结构实用工具。Structs一开始只是用来转换一个结构体成为一个map[string]interface{},后来慢慢发展,现在添加了其他的实用工具。安装go
StructsGo 结构体实用工具
0