package util import ( "errors" "fmt" ) //func StructToMap(obj interface{}) map[string]any { // objValue := reflect.ValueOf(obj) // objType := objValue.Type() // // data := make(map[string]any) // for i := 0; i < objValue.NumField(); i++ { // field := objValue.Field(i) // key := objType.Field(i).Name // value := field.Interface() // data[key] = value // } // return data //} func ToString(value any) (string, error) { switch val := value.(type) { case string: return val, nil case bool, int, int8, int16, int32, int64, uint, uint8, uint16, uint32, uint64, float32, float64: return fmt.Sprint(val), nil case []byte: return string(val), nil case fmt.Stringer: return val.String(), nil } return "", errors.New("无法转为string") }