学无先后,达者为师

网站首页 编程语言 正文

golang中的单引号转义问题_Golang

作者:qiuchangyong   更新时间: 2023-05-23 编程语言

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并没有被转义,而是被直接作为字符串输出。

总结

原文链接:https://blog.csdn.net/qiuchangyong/article/details/108369665

  • 上一篇:没有了
  • 下一篇:没有了
栏目分类
最近更新