目录
  • golang的单引号转义
  • go语言中的单引号、双引号和反引号
    • 1.单引号
    • 2.双引号
    • 3.反引号
  • 总结

    golang的单引号转义

    如题,golang中有时候需要将一个字符串中的单引号再转义一次,比如在两个单引号之间包含一个含有单引号的字符串的情形。

    但是这个转义却不像C语言里的那样,比如这样写:info = strings.Replace(info, "\&;", "\\\&;", -1)

    就报unknown escape sequence错误。

    正确的写法是:

    info = strings.Replace(info, "'", "\\'", -1)

    我想这里应该是:在两个双引号之间不需要使用\&;来表示单引号。

    go语言中的单引号、双引号和反引号

    1.单引号

    单引号在go语言中表示golang中的rune(int32)类型,单引号里面是单个字符,对应的值为改字符的ASCII值。

    func main() {
        a := 'A'
        fmt.Println(a)
    }

    输出:

    random@random-wz MINGW64 /c/GOPATH/src/Test
    $ go run main.go
    65

    2.双引号

    在go语言中双引号里面可以是单个字符也可以是字符串,双引号里面可以有转义字符,如\n、\r等,对应go语言中的string类型。

    func main() {
        a := "Hello golang\nI am random_wz."
        fmt.Println(a)
    }

    输出:

    random@random-wz MINGW64 /c/GOPATH/src/Test
    $ go run main.go
    Hello golang
    I am random_wz.

    3.反引号

    反引号中的字符表示其原生的意思,在单引号中的内容可以是多行内容,不支持转义。

    func main() {
        a := `Hello golang\n:
    I am random_wz.
    Good.`
        fmt.Println(a)
    }

    输出:

    random@random-wz MINGW64 /c/GOPATH/src/Test
    $ go run main.go
    Hello golang\n:
    I am random_wz.
    Good.

    可以看到\n并没有被转义,而是被直接作为字符串输出。

    总结

    以上为个人经验,希望能给大家一个参考,也希望大家多多支持。

    声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。