package sql_result import ( "git.sxidc.com/go-tools/utils/reflectutils" "github.com/pkg/errors" "reflect" ) type OnParsedFieldTagFunc func(fieldName string, entityFieldElemValue reflect.Value, tag *Tag) error func UseTag(e any, onParsedFieldTagFunc OnParsedFieldTagFunc) error { if e == nil { return nil } entityValue := reflect.ValueOf(e) // 类型校验 if !reflectutils.IsValueStructPointer(entityValue) { return errors.New("参数不是结构指针") } entityElemValue := reflectutils.PointerValueElem(entityValue) err := parseTag(entityElemValue, onParsedFieldTagFunc) if err != nil { return err } return nil }