验证码: 看不清楚,换一张 查询 注册会员,免验证
  • {{ basic.site_slogan }}
  • 打开微信扫一扫,
    您还可以在这里找到我们哟

    关注我们

golang中的单引号转义问题怎么解决

阅读:954 来源:乙速云 作者:代码code

golang中的单引号转义问题怎么解决

      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 golangnI 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 golangn:
      I am random_wz.
      Good.`
          fmt.Println(a)
      }

      输出:

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

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

    分享到:
    *特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: hlamps#outlook.com (#换成@)。
    相关文章
    {{ v.title }}
    {{ v.description||(cleanHtml(v.content)).substr(0,100)+'···' }}
    你可能感兴趣
    推荐阅读 更多>