加载中...
运行于JVM的动态语言,2003年由James Strachan创建,语法是Java的简洁超集。以Gradle构建工具的DSL和Jenkins Pipeline脚本语法广为人知,也是Grails Web框架的基础。

| 类型 | 动态类型(可选静态)、JVM语言 |
| 发布年份 | 2003年 |
| 开发者 | James Strachan;Apache基金会维护 |
Groovy最大的特点是Java代码几乎可以直接粘贴进Groovy文件运行——Groovy是Java的超集(兼容度约95%),在此基础上添加了闭包(Closure)、可选类型、GString(可插值字符串)、列表/字典字面量等特性。一行def list = [1, 2, 3]代替Java冗长的初始化写法,简洁性立竿见影。
Groovy支持静态编译(@CompileStatic注解),可以在性能敏感的代码里关掉动态特性,生成接近Java的字节码。元编程能力(MOP,元对象协议)让Groovy可以在运行时给类添加方法,这是Grails实现大量「魔法」的基础。[1]
Groovy最广泛的使用场景并非直接编程,而是作为DSL宿主语言:Gradle构建脚本(build.gradle)是Groovy DSL,利用闭包和运算符重载写出接近声明式配置的代码;Jenkins Pipeline(Jenkinsfile)同样是Groovy DSL,定义CI/CD流程。
随着Kotlin逐渐取代Groovy成为Gradle的官方推荐DSL语言(Kotlin DSL提供更好的IDE支持和类型安全),Groovy在Gradle场景的使用在减少。但存量的build.gradle文件数以亿计,Groovy会继续活跃相当长时间。

| 类型 | 动态类型(可选静态)、JVM语言 |
| 发布年份 | 2003年 |
| 开发者 | James Strachan;Apache基金会维护 |
登录 后参与讨论
暂无讨论,来发表第一条评论吧