反引号(``)和&之间的区别是什么? golang中的双引号(“”)?

时间:2017-10-24 18:12:19

标签: go

反引号之间有什么区别(``)& golang中的双引号(“”)?

5 个答案:

答案 0 :(得分:25)

在引号""中,您需要转义不需要在反引号``中转义的新行,制表符和其他字符。如果您在反引号字符串中添加换行符,则会将其解释为'\n'字符,请参阅https://golang.org/ref/spec#String_literals

因此,如果你在反引号字符串中说\n,它将被解释为文字反斜杠和字符n。

答案 1 :(得分:17)

反引号字符串是Python或Scala中多行原始字符串的类似物:r""" text """或JavaScript

String.raw`Hi\u000A!`

他们可以

  1. 跨越多行

  2. 忽略特殊字符

  3. 它们很有用:

    1. 将大文字放入

    2. 对于有大量反斜杠的正则表达式

    3. 用于将双引号括在的严格标签。

答案 2 :(得分:4)

原始字符串文字是反引号之间的字符序列。 反斜杠('\')没有特殊含义,原始字符串文字中的回车字符('\ r')将从原始字符串值中丢弃。

解释字符串文字是双引号之间的字符序列(“\ r”,“\ n”,...)

来源:http://ispycode.com/GO/Strings/Raw-string-literals

答案 3 :(得分:0)

``代表未解释的字符串,""代表解释的字符串。

  

原始字符串文字(未解释的字符串)的值是由引号之间的未解释(隐式UTF-8编码)字符组成的字符串

     

解释的字符串文字是双引号之间的字符序列,例如“ bar”。在引号内,除换行符和未转义的双引号外,任何字符都可以出现。

PS:斜体字是我的

https://golang.org/ref/spec#String_literals

答案 4 :(得分:0)

golang 有三种类型的引用。单引号、双引号或反引号(反引号)

  • 单引号 - 表示对应于 uint8 或 int32 以及默认符文类型的字节类型或符文类型。通常用于表示符文类型和显示 Unicode。
  • 双引号 - 表示字符数组的字符串。因此,您可以使用数组索引来访问字节或使用 len() 之类的函数。
  • 反引号(反引号) - 表示字符串文字,但不支持转义序列。通常用于显示多行等字符串文字