【问题标题】:Multiline String literal syntax [closed]多行字符串文字语法 [关闭]
【发布时间】:2017-12-01 10:52:51
【问题描述】:

在许多语言中,多行字符串字面量语法是

"""
Hello
World
"""

但是为什么它需要新的语法,为什么不使用 " 而不是 """ 呢?

喜欢:

"Hello
 World"

【问题讨论】:

  • 曾经尝试过使用单双引号的多行语法吗?你知道吗?它有效!
  • 在哪个语言中?我知道它适用于 Rust
  • “为什么语言设计者觉得有必要为几种不同语言的多行字符串添加不同的语法?”是提出过于宽泛的问题的一个很好的例子。

标签: language-agnostic


【解决方案1】:

我认为这主要是为了允许嵌套双引号:

"""
Hello, "World"
"""

如果" 用于多行字符串,那么您必须转义嵌套引号,这有点不方便。

【讨论】:

  • 但是如果我没有嵌套双引号呢?就像在 Rust stackoverflow.com/questions/29483365/…
  • @Sodiaan 三引号对您来说是个问题吗?你不想打字?
  • 为什么两者都有,为什么不只有三引号?
  • @Sodiaan 单行字符串更频繁
【解决方案2】:

您可以简单地包含这样的格式化代码:

val text = """
    for (c in "foo")
        print(c)
"""

或使用" 等特殊字符而无需转义。例如,对于 JSON,它非常简洁。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-08-12
    • 2017-07-03
    • 2015-06-11
    • 2021-10-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多