go-tagexpr Go 结构体标签表达式开源项目

我要开发同款
匿名用户2019年01月29日
61阅读
开发技术GO语言
所属分类Google Go、其他开发相关、程序开发
授权协议Apache-2.0

作品详情

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}
声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论