Formatting strings with %q in go
TIL you can use %d
in Printf
statements (and its friends, like Fatalf/Errorf
) when printing strings/runes.
What it does is:
- Escapes any special characters
- Add quotes around it (single if it’s a single rune)
I really like how it adds quotes around the string. I’ve had innumerous times when a go program was supposed to printed something (mostly likely in errors), but since the string was empty, it didn’t print anything.
For example,
|
|
Which always takes me a while to notice. By having an error like
|
|
It makes it clear how somehow an empty string is being passed.
Beware that his only works for strings (and runes) though.
Example can be found in the go playground.