third-platform-sdk/util/util.go

35 lines
756 B
Go
Raw Permalink Normal View History

2024-04-30 17:57:27 +08:00
package util
2024-06-22 20:28:21 +08:00
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
//}
2024-06-22 20:28:21 +08:00
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")
}