It came to me when I was writing something like this:
package main
import "fmt"
func main() {
fmt.Println(`----------------
Demo Program
----------------
- foo
- bar
----------------`);
}
which prints:
----------------
Demo Program
----------------
- foo
- bar
----------------
but, why not make it like this one?
fmt.Println(```
----------------
Demo Program
----------------
- foo
- bar
----------------```);
or this one?
disptext := ```
----------------
Demo Program
----------------
- foo
- bar
----------------```
fmt.Println(disptext)
To introduce a new literal for raw string, where triple backquote is used to surround a raw string area, whose first linebreak is ignored:
```
this is a raw string
lol```
This is equivalent to:
`this is a raw string
lol`
or simply:
"this is a raw string\nlol"
The only difference between the new literal and the old 'backquote-raw string-backquote' literal is that, the new literal stripped out the first linebreak from the raw string, making it easier to write multiline text, just as the example provided in section "Background".