go-tagexpr 是一个由字节跳动开源的 Golang 结构体标签表达式解释器。它主要应用于各种场景的请求参数校验,且性能高效,成为参数校验的杀手锏。主要特性:支持各种常用运算符支持访问数组、切片、字典的成员支持访问当前结构中任意字段支持访问嵌套字段、非导出字段等内置 len、sprintf、regexp 函数支持单表达式与多表达式两种定义模式提供了参数校验子包看一个参数校验的小例子:package validator_testimport ( “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}更多语法详情,请转到Github源码仓库:https://github.com/bytedance/…