mylomen-server/common/utils/to_string.go
2023-06-04 23:07:02 +08:00

30 lines
479 B
Go

package utils
import (
"bytes"
"fmt"
"reflect"
)
func ToString(arg any) string {
buf := bytes.NewBufferString("")
_, err := fmt.Fprint(buf, arg)
if err != nil {
fmt.Errorf("ToString err %s %+v", arg, err)
return ""
}
return buf.String()
}
func ToStringCompatiblePtr(arg any) string {
if arg == nil {
return ""
}
if reflect.TypeOf(arg).Kind() != reflect.Ptr {
return ToString(arg)
}
return ToStringCompatiblePtr(reflect.Indirect(reflect.ValueOf(arg)))
}