Golang:转义单引号

Golang : Escaping single quotes

有没有办法在 go 中转义单引号?

以下:

str := "I'm Bob, and I'm 25."
str = strings.Replace(str, "'", "\'", -1)

给出错误:未知转义序列:'

我希望 str 成为

"I\'m Bob, and I\'m 25."

您还需要转义 strings.Replace 中的斜线。

str := "I'm Bob, and I'm 25."
str = strings.ReplaceAll(str, "'", "\'")

https://play.golang.org/p/BPtU2r8dXrs

+@KeylorSanchez 回答:你可以用反引号包裹替换字符串:

strings.ReplaceAll(str, "'", `\'`)
// addslashes()
func Addslashes(str string) string {
    var buf bytes.Buffer
    for _, char := range str {
        switch char {
        case '\'':
            buf.WriteRune('\')
        }
        buf.WriteRune(char)
    }
    return buf.String()
}

如果你想转义single/double引号或反弹,你可以参考https://github.com/syyongx/php2go