func convertToString()

in operatortrace-go/pkg/client/utils.go [41:57]


func convertToString(value interface{}) (string, error) {
	v := reflect.ValueOf(value)
	switch v.Kind() {
	case reflect.String:
		return v.String(), nil
	case reflect.Interface:
		// Handle the case where the value is an interface
		return convertToString(v.Elem().Interface())
	default:
		// Check if the value has a String() method
		stringer, ok := value.(fmt.Stringer)
		if ok {
			return stringer.String(), nil
		}
		return "", fmt.Errorf("unsupported type: %T", value)
	}
}