文件名称:go-tagexpr:有趣的go struct标签表达语法,用于字段验证等
文件大小:69KB
文件格式:ZIP
更新时间:2024-02-24 08:11:36
go binding dsl validator expression
gotagexpr 有趣的go struct标记表达式语法,用于字段验证等。 用法 :功能强大的验证器,支持结构标记表达 :功能强大的HTTP请求参数绑定程序,支持结构标记表达 特征 支持多种常用运算符 支持访问数组,切片,字典成员 支持访问当前结构中的任何字段 支持访问嵌套字段,非导出字段等。 支持寄存器功能表达式 内置len,sprintf,regexp函数 支持单模和多模定义表达式 参数检查子包 使用偏移量指针直接获取值,获得更好的性能 所需的Go版本≥1.9 例 package tagexpr_test import ( "fmt" tagexpr "github.com/bytedance/go-tagexpr/v2" ) func Example () { type T struct { A int `tagexpr:"$<0>=100"` B string `tagexpr:"len($)>1 && regexp('^\\w*$')"` C bool `tagexpr:"ex
【文件预览】:
go-tagexpr-master
----go.mod(357B)
----example_test.go(2KB)
----tagparser.go(4KB)
----spec_func_test.go(2KB)
----handler.go(3KB)
----tagexpr.go(28KB)
----tagexpr_test.go(18KB)
----expr.go(6KB)
----spec_operand.go(4KB)
----validator()
--------func.go(3KB)
--------example_test.go(2KB)
--------validator.go(4KB)
--------validator_test.go(4KB)
--------README.md(5KB)
--------default.go(751B)
----binding()
--------body.go(2KB)
--------error.go(540B)
--------func.go(2KB)
--------example_test.go(3KB)
--------tag_names.go(4KB)
--------param_info.go(10KB)
--------gjson()
--------bind.go(9KB)
--------tag_names_test.go(537B)
--------request.go(2KB)
--------README.md(4KB)
--------bind_test.go(24KB)
--------pathparam.go(293B)
--------body_test.go(543B)
--------receiver.go(3KB)
--------default.go(2KB)
----spec_selector.go(3KB)
----spec_func.go(7KB)
----LICENSE(11KB)
----selector.go(3KB)
----README.md(5KB)
----expr_test.go(6KB)
----tagparser_test.go(1KB)
----spec_operator.go(6KB)
----selector_test.go(232B)
----.gitignore(279B)
----spec_test.go(6KB)