Gradle 渐变单引号与双引号

Gradle 渐变单引号与双引号,gradle,dependency-management,Gradle,Dependency Management,我是gradle的新手,目前正努力学习教程,有好几次我看到单引号和双引号混合在一起。我只是想知道在什么时候使用一套和另一套是否有区别。这方面的一个例子是本教程的第6.12节-: defaultTasks'clean'、'run' 任务清理是的,您可以使用其中一个。唯一的区别是双引号字符串可以是gstring,它可以包含求值表达式,如以下示例所示: Gradle构建脚本是用Groovy编写的。Groovy具有双引号和单引号字符串文本。主要区别在于双引号字符串文本支持字符串插值: def x = 1

我是gradle的新手,目前正努力学习教程,有好几次我看到单引号和双引号混合在一起。我只是想知道在什么时候使用一套和另一套是否有区别。这方面的一个例子是本教程的第6.12节-:

defaultTasks'clean'、'run'

任务清理是的,您可以使用其中一个。唯一的区别是双引号字符串可以是gstring,它可以包含求值表达式,如以下示例所示:


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

def x = 10
println "result is $x" // prints: result is 10

您可以在web或其他Groovy文章中了解有关Groovy字符串插值的更多信息。

单引号字符串是由单引号包围的一系列字符。 比如:

输出:

a single quoted string
而双引号字符串允许我们进行字符串插值 这里,我们有一个字符串,其中占位符引用局部变量:

def name = 'Guillaume' // a plain string
def greeting = "Hello ${name}"
输出:
Hello Guillaume

在代码中,如果要打印任务名称。因此,在这种情况下,您需要使用双引号:

defaultTasks 'clean', 'run'

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

task run << {
    println "Default Running $run.name!"
    // here Double Quotes are required to interpolate task-name
}

task other << {
    println "I'm not a default task!"
}
defaultTasks'clean'、'run'
任务清理根据等级:

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

这是 主要是为了确保指南之间的一致性,但单引号也很重要 比双引号的噪音小一点。只有在需要时才使用双引号 希望在字符串中包含嵌入表达式


双引号字符串文本是
GString
s,如果它们包含
$
。否则,它们是普通的
String
s。但现在我有一个后续问题,有什么理由不总是使用双引号吗?主要是主观/情境性的,比如“看起来更好”、“习惯于另一种语言的这种风格”、“想使用文字
$
,而不必逃避它们”、“更容易键入”“。默认情况下,许多Groovy用户似乎更喜欢单引号。我更喜欢双引号,因为它们允许我在不更改引号的情况下添加/删除字符串插值。我还习惯于引用Java等语言的双引号。看来那个指南和指南已经不见了。@DaveL。是的,我在其他任何地方都找不到。在这里找到了一些类似的指导——“最后但并非最不重要的是,当你需要字符串常量时,更喜欢使用单引号字符串,当你明确依赖字符串插值时,使用双引号字符串。”在我看来,混合比只使用双引号噪音大得多。
a single quoted string
def name = 'Guillaume' // a plain string
def greeting = "Hello ${name}"
defaultTasks 'clean', 'run'

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

task run << {
    println "Default Running $run.name!"
    // here Double Quotes are required to interpolate task-name
}

task other << {
    println "I'm not a default task!"
}