<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="zh">
	<id>https://arolstar52-zhtest.hf.space/index.php?action=history&amp;feed=atom&amp;title=Groovy</id>
	<title>Groovy - 版本历史</title>
	<link rel="self" type="application/atom+xml" href="https://arolstar52-zhtest.hf.space/index.php?action=history&amp;feed=atom&amp;title=Groovy"/>
	<link rel="alternate" type="text/html" href="https://arolstar52-zhtest.hf.space/index.php?title=Groovy&amp;action=history"/>
	<updated>2026-07-13T09:29:22Z</updated>
	<subtitle>在这个wiki上该页的修订历史</subtitle>
	<generator>MediaWiki 1.43.9</generator>
	<entry>
		<id>https://arolstar52-zhtest.hf.space/index.php?title=Groovy&amp;diff=15693&amp;oldid=prev</id>
		<title>imported&gt;SchlurcherBot：​Bot: http → https</title>
		<link rel="alternate" type="text/html" href="https://arolstar52-zhtest.hf.space/index.php?title=Groovy&amp;diff=15693&amp;oldid=prev"/>
		<updated>2026-01-29T05:25:03Z</updated>

		<summary type="html">&lt;p&gt;Bot: http → https&lt;/p&gt;
&lt;p&gt;&lt;b&gt;新页面&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{NoteTA|G1=IT|G2=FL}}&lt;br /&gt;
{{Infobox programming language&lt;br /&gt;
| name = Groovy&lt;br /&gt;
| logo = [[File:Groovy-logo.svg|200px|Groovy-logo]]&lt;br /&gt;
| paradigm = [[面向对象程序设计|面向对象]]，[[腳本語言]]&lt;br /&gt;
| year = 2003年&lt;br /&gt;
| designer = {{le|James Strachan|James Strachan (programmer)|James Strachan}}&lt;br /&gt;
| developer = Paul King (PMC主席)&amp;lt;br /&amp;gt;Jochen Theodorou (技术主管)&amp;lt;br /&amp;gt;Guillaume Laforge&amp;lt;br /&amp;gt;Cedric Champeau&amp;lt;br /&amp;gt;[https://sunlan.me/ Daniel Sun]&amp;lt;br /&amp;gt;Eric Milles&lt;br /&gt;
| typing = [[强类型|强]]，[[动态类型|动态]]，[[鸭子类型|duck]]&lt;br /&gt;
| implementations = &lt;br /&gt;
| dialects = &lt;br /&gt;
| influenced_by = [[Java]], [[Python]], [[Ruby]], [[Perl]], [[Smalltalk]]，[[Objective-C]]&lt;br /&gt;
| influenced = &lt;br /&gt;
| platform = [[Java虚拟机]]&lt;br /&gt;
| operating_system = [[跨平台]]（[[Java虚拟机]]）&lt;br /&gt;
| license = [[Apache許可證]]v2.0&lt;br /&gt;
| website = https://groovy-lang.org/&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Apache软件基金会|Apache]]的&amp;#039;&amp;#039;&amp;#039;Groovy&amp;#039;&amp;#039;&amp;#039;是[[Java平台]]上设计的[[面向对象编程]]语言。这门动态语言拥有类似[[Python]]、[[Ruby]]和[[Smalltalk]]中的一些特性，可以作为Java平台的[[脚本语言]]使用，Groovy代码动态地编译成运行于Java虚拟机（JVM）上的Java字节码，并与其他Java代码和库进行互操作。由于其运行在JVM上的特性，Groovy可以使用其他Java语言编写的库。Groovy的语法与Java非常相似，大多数Java代码也符合Groovy的语法规则，尽管可能语义不同。&lt;br /&gt;
Groovy 1.0于2007年1月2日发布，并于2012年7月发布了Groovy 2.0。从版本2开始，Groovy也可以静态编译，提供[[类型推论]]和Java相近的性能。Groovy 2.4是Pivotal软件赞助的最后一个主要版本，截止于2015年3月。Groovy已经将其治理结构更改为Apache软件基金会的项目管理委员会（PMC）&amp;lt;ref name=&amp;quot;joinsApache&amp;quot;&amp;gt;{{Cite web |url=https://blogs.apache.org/foundation/entry/groovy_submitted_to_become_a |title=&amp;quot;Groovy joins Apache Incubator&amp;quot;.11 Mar 2015. |accessdate=2017-08-24 |archive-date=2020-12-04 |archive-url=https://web.archive.org/web/20201204092717/https://blogs.apache.org/foundation/entry/groovy_submitted_to_become_a |dead-url=no }}&amp;lt;/ref&amp;gt;。&lt;br /&gt;
&lt;br /&gt;
== 特性 ==&lt;br /&gt;
大部分有效的Java文件也是有效的Groovy文件。Groovy代码比Java代码更加紧凑，因为它不需要Java需要的所有元素。这两种语言的相似性，让Java程序员可以先从熟悉的Java语法开始逐步学习Groovy。&lt;br /&gt;
Groovy特性包括了Java中不支持的静态和动态类型（使用关键字 def），运算符重载，提供了lists（列表）和关联数组(maps)提供了原生语法，原生支持正则表达式，多态迭代，字符串内嵌表达式，添加帮助方法以及Null条件运算符，自动空指针检查（列：&amp;lt;code&amp;gt;variable?.method()&amp;lt;/code&amp;gt;,或 &amp;lt;code&amp;gt;variable?.field&amp;lt;/code&amp;gt;）。&lt;br /&gt;
&lt;br /&gt;
从Groovy 2开始，支持模块化（能只根据项目需要添加所需的jar包，从而减少Groovy库的大小），使用JDK7的类型检查，静态编译，Project Coin语法增强，多块模块和持续的性能增强 调用动态指令。&lt;br /&gt;
&lt;br /&gt;
Groovy透過内联文档对象模型（DOM）语法对各种标记语言（如XML和HTML）的提供原生支持。该功能实现了使用统一简洁的语法和编程方法来定义和操纵许多类型的异构数据资源。&lt;br /&gt;
&lt;br /&gt;
与Java不同的是，Groovy源代码文件可以當作（未编译的）脚本执行，如果它含有任何类定义之外的代码，或者它是具有main方法的类，或者它是Runnable或GroovyTestCase。 Groovy脚本在执行之前完成解析，编译和生成（类似于Perl和Ruby）。这发生在下一个层次，编译后的版本不会保存为进程的组件&lt;br /&gt;
&lt;br /&gt;
== 程式範例 ==&lt;br /&gt;
下面是来自于 [https://web.archive.org/web/20140302111159/http://groovy.codehaus.org/ https://web.archive.org/web/20140302111159/http://groovy.codehaus.org/] 的一个示例程序：&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Groovy&amp;quot;&amp;gt;&lt;br /&gt;
class Foo {&lt;br /&gt;
  doSomething() {&lt;br /&gt;
    data = [&amp;quot;name&amp;quot;: &amp;quot;James&amp;quot;, &amp;quot;location&amp;quot;: &amp;quot;London&amp;quot;]&lt;br /&gt;
    for (e in data) {&lt;br /&gt;
      println(&amp;quot;entry ${e.key} is ${e.value}&amp;quot;)&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  closureExample(collection) {&lt;br /&gt;
    collection.each { println(&amp;quot;value ${it}&amp;quot;) }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  static void main(args) {&lt;br /&gt;
    values = [1, 2, 3, &amp;quot;abc&amp;quot;]&lt;br /&gt;
    foo = new Foo()&lt;br /&gt;
    foo.closureExample(values)&lt;br /&gt;
    foo.doSomething()&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== IDE支持 ==&lt;br /&gt;
已经有许多的[[集成开发环境]]支持了该门语言：&lt;br /&gt;
&lt;br /&gt;
* [[Eclipse]]，插件[https://web.archive.org/web/20100722003921/http://groovy.codehaus.org/Eclipse+Plugin Groovy-Eclipse]&lt;br /&gt;
* [[IntelliJ IDEA]]，默认就支持Groovy开发。&lt;br /&gt;
* [[NetBeans]] 默认支持&lt;br /&gt;
&lt;br /&gt;
== 参考信息 ==&lt;br /&gt;
&amp;lt;references /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
== 外部連結 ==&lt;br /&gt;
* [https://groovy-lang.org/ Groovy 官方网站] {{Wayback|url=https://groovy-lang.org/ |date=20210110100350 }}&lt;br /&gt;
* [http://code.google.com/p/groovypptest/ Groovy++] {{Wayback|url=http://code.google.com/p/groovypptest/ |date=20160113005730 }}&lt;br /&gt;
&lt;br /&gt;
{{-}}&lt;br /&gt;
{{程序设计语言|Groovy}}&lt;br /&gt;
&lt;br /&gt;
[[Category:面向对象的编程语言]]&lt;br /&gt;
[[Category:脚本语言]]&lt;br /&gt;
[[Category:Java]]&lt;br /&gt;
[[Category:Java规范请求]]&lt;br /&gt;
[[Category:JVM程式語言]]&lt;br /&gt;
[[Category:2003年建立的程式語言]]&lt;br /&gt;
[[Category:带有代码示例的条目]]&lt;/div&gt;</summary>
		<author><name>imported&gt;SchlurcherBot</name></author>
	</entry>
</feed>