Gradle Single vs Double Quotes

Dan*_*n W 59 dependency-management gradle

我是新手,我目前正在尝试遵循这些教程,而且我已经看过很多次单引号和双引号混合.我只是想知道是否应该使用一组而不是另一组.其中一个例子是本教程的第6.12节 - 默认任务:

defaultTasks 'clean', 'run'

task clean << {
    println 'Default Cleaning!'
}

task run << {
    println 'Default Running!'
}

task other << {
    println "I'm not a default task!"
}
Run Code Online (Sandbox Code Playgroud)

所以,我想知道我是否应该注意这些差异,或者它们是否可以互换,我可以在gradle中打印字符串时使用单引号或双引号.

Pet*_*ser 67

Gradle构建脚本是用Groovy编写的.Groovy有双引号和单引号的字符串文字.主要区别在于双引号字符串文字支持字符串插值:

def x = 10
println "result is $x" // prints: result is 10
Run Code Online (Sandbox Code Playgroud)

您可以在Web上的这篇或其他Groovy文章中了解有关Groovy String插值的更多信息.

  • 主要/情境主要是"看起来更好","从另一种语言习惯这种风格","想要使用文字`$`或```而不必逃避它们","更容易打字".许多Groovy用户似乎默认情况下更喜欢单引号.我更喜欢双引号,因为它们允许我在不改变引号的情况下添加/删除字符串插值.而且我习惯用Java等语言加双引号. (4认同)
  • 感谢您的清晰解释。但是现在我有一个后续问题,那么有什么理由不总是使用双引号呢? (3认同)

JB *_*zet 11

是的,你可以使用其中一个.唯一的区别是双引号字符串可以是GStrings,它可以包含已从Groovy文档中获取的以下示例中的计算表达式:

foxtype = 'quick'
foxcolor = ['b', 'r', 'o', 'w', 'n']
println "The $foxtype ${foxcolor.join()} fox"
// => The quick brown fox
Run Code Online (Sandbox Code Playgroud)

  • 双引号字符串文字是“GString”,当且仅当它们包含“$”。否则,它们就是普通的“String”。 (3认同)

Jul*_* A. 5

根据 gradle文档

在构建脚本列表中对纯字符串使用单引号

这主要是为了确保指南之间的一致性,但单引号也比双引号噪音小一些。如果要在字符串中包含嵌入的表达式,请仅使用双引号。

  • 看来那个指引和引导已经消失了。 (2认同)