在阅读 Gradle 插件教程时,我发现了以下代码:
apply plugin: GreetingPlugin
greeting.message = 'Hi from Gradle'
class GreetingPlugin implements Plugin<Project> {
void apply(Project project) {
// Add the 'greeting' extension object
project.extensions.create("greeting", GreetingPluginExtension)
// Add a task that uses the configuration
project.task('hello') << {
println project.greeting.message
}
}
}
class GreetingPluginExtension {
def String message = 'Hello from GreetingPlugin'
}
我的理解是该行def String message = 'Hello from GreetingPlugin'
声明了两种类型(通用def
类型和特定String
类型)。删除任何一种类型似乎都允许脚本继续执行。
Groovy 允许为单个变量进行两种类型声明有什么原因吗?如果是这样,此语言功能的用例是什么?它在这种情况下是否有特定用途?