18 lines
347 B
Go
18 lines
347 B
Go
package util
|
|
|
|
import "reflect"
|
|
|
|
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
|
|
}
|