golang 中的反引号 (\`\`) 和双引号 ("") 有什么区别?

新手上路,请多包涵

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

原文由 samadadi 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 916
2 个回答

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

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

 a := "\n" // This is one character, a line break.
b := `\n` // These are two characters, backslash followed by letter n.

原文由 gonutz 发布,翻译遵循 CC BY-SA 4.0 许可协议

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

 String.raw`Hi\u000A!`

他们能:

  1. 跨越多行。

  2. 忽略特殊字符。

它们很有用:

  1. 用于将大文本放入其中。

  2. 对于有很多反斜杠的正则表达式。

  3. 对于要放入双引号的结构标签。

原文由 Eugene Lisitsky 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题