code: func ToString(value interface{}) string {
  	if v, ok := value.([]string); ok {
  		for _, s := range v {
  			if s != "" {
  				return s
  			}
  		}
  		return ""
  	} else if v, ok := value.(string); ok {
  		return v
  	} else if v, ok := value.([]interface{}); ok {
  		for _, s := range v {
  			if fmt.Sprint(s) != "" {
  				return fmt.Sprint(s)
  			}
  		}
  		return ""
  	}
  	return fmt.Sprintf("%v", value)
  }
docs: // ToString get string from value, if passed value is a slice, will use the first element