Go's package fmt %q verb for strings
I wasn’t aware of the Go fmt
package %q
verb, for quoting strings.
Typically, I’ve been escaping the quotes manually and using the %s
verb:
fmt.Sprintf("this needs quoting: \"%s\"", "input")
But the %q
verb obviates the need for that manual quoting.
From the package documentation:
%s the uninterpreted bytes of the string or slice
%q a double-quoted string safely escaped with Go syntax
And a quick example (on the Go Playground):
package main
import (
"fmt"
)
func main() {
test := "I'm a test string"
fmt.Printf("\"%s\"", test)
// Output: "I'm a test string"
fmt.Println()
fmt.Printf("%q", test)
// Output: "I'm a test string"
}