Этот вопрос в основном касается косметики, этот код выполняет свою работу, но я бы хотел использовать выражение switch
в обоих случаях вместо смешивания if
и switch
.
func fieldValue(field reflect.Value) string {
format := "%v"
if stringer, ok := field.Interface().(strfmt.DateTime); ok {
return fmt.Sprintf(format, stringer.String())
}
switch field.Kind() {
case reflect.Ptr:
if field.IsNil() {
return "<nil>"
}
field = field.Elem()
}
return fmt.Sprintf(format, field.Interface())
}