Golang 不转义字符串变量

Sim*_*Jie 0 string escaping go

我们可以使用“`”来不转义字符串:

package main

import "fmt"

func main()  {
    fmt.Println(`abc\tdef`) // abc\tdef
}
Run Code Online (Sandbox Code Playgroud)

但是如何获取或打印非转义字符串变量呢?

package main

import "fmt"

func main()  {
    s := "abc\tdef"
    fmt.Println(s) // abc def
}
Run Code Online (Sandbox Code Playgroud)

Sim*_*Jie 5

使用%#v和Sprintf:

package main

import "fmt"

func main()  {
    s := "abc\tdef"
    s = fmt.Sprintf("%#v", s)
    fmt.Println(s) // "abc\tdef"
}
Run Code Online (Sandbox Code Playgroud)

%#v:值的 Go 语法表示形式

Sprintf:Sprintf 根据格式说明符进行格式化并返回结果字符串。