为什么在 Gradle 中声明字段时同时使用 def 和 String

Xel*_*ian 5 string groovy function gradle

 class GreetingPluginExtension {
    def String message = 'Hello from GreetingPlugin'
}
Run Code Online (Sandbox Code Playgroud)

为什么使用defString同时,我们有String类型,为什么我们使用和def关键字?

Dem*_*ian 1

评论很久以前就已经回答了这个问题,但这里有一个指向Apache Groovy 样式指南相关部分的更新链接:

https://groovy-lang.org/style-guide.html#_def_and_type

它说:

我经常看到开发人员同时使用def和 一种类型。但def这里是多余的。因此,请做出选择,要么使用def,要么选择类型。

一般来说,我个人更喜欢干净、简单的外观:

def message = "Hello"
Run Code Online (Sandbox Code Playgroud)