func quoteIfNeeded(s string) string {
	i := strings.IndexFunc(s, func(c rune) bool {
		return c == ',' || c == '"' || unicode.IsSpace(c)
	})
	if i < 0 {
		// No space or comma or quote in string, return as is
		return s
	}
	return strconv.Quote(s)
}
// quoteIfNeeded quotes s (according to Go string quoting rules) if it
// contains a comma or quote or whitespace character, otherwise it returns the
// original string.
quoteIfNeeded quotes s (according to Go string quoting rules) if it
contains a comma or quote or whitespace character, otherwise it returns the
original string.
// quoteIfNeeded quotes s ( according to Go string quoting rules ) if it // contains a comma or quote or whitespace character otherwise it returns the // original string .
func quoteIfNeeded(s string) string {
	i := strings.IndexFunc(s, func(c rune) bool {
		return c == ',' || c == '"' || unicode.IsSpace(c)
	})
	if i < 0 {
		return s
	}
	return strconv.Quote(s)
}
func quoteIfNeeded ( s string ) string { i := strings . IndexFunc ( s , func ( c rune ) bool { return c == ',' || c == '"' || unicode . IsSpace ( c ) } ) if i < 0 { return s } return strconv . Quote ( s ) }
quoteIfNeeded quotes s (according to Go string quoting rules) if it
contains a comma or quote or whitespace character, otherwise it returns the
original string.
quoteIfNeeded quotes s ( according to Go string quoting rules ) if it contains a comma or quote or whitespace character otherwise it returns the original string .
// No space or comma or quote in string, return as is