go-tagexpr 是一個由字節跳動開源的 Golang 結構體標籤表達式解釋器。它主要應用於各類場景的請求參數校驗,且性能高效,成爲參數校驗的殺手鐗。git
主要特性:github
看一個參數校驗的小例子:數組
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 }
更多語法詳情,請轉到Github源碼倉庫:https://github.com/bytedance/...函數