学习新语言并不是件小事,即使是 Groovy 也不例外。这一节将介绍学习 Groovy 的更多动力。另外还将第一次看到一些 Groovy 代码,并了解 Groovy 与 Java 编程的比较。
为什么要学习 Groovy?
即使 Groovy 与 Java 语言有许多相似之处,它仍然是另一个语言。您可能想知道为什么应该花时间学习它。简单的回答就是:Groovy 是一种更有生产力 的语言。它具有松散的语法和一些特殊功能,能够加快编码速度。
只 用一个示例即可说明问题:一旦发现使用 Groovy 在集合中导航的容易程度,您就再也不会用 Java 处理集合导航了。能够用 Groovy 快速编写代码,这还意味着能够更快地收到反馈,更不用说完成任务列表中的工作带来的满足感了。在较高层面上,如果能更快地将代码交付给利益相关者,那么就 能在更短的时间内交给他们更多发行版。实际上,Groovy 比 Java 更有助于敏捷开发。
入门非常容易
如果仍然觉得采用新语言很困难,那么可以看看将 Groovy 集成到开发环境有多么容易。您无需安装新的运行时工具或专门的 IDE。实际上,只需将 Groovy 的一个 jar 文件放在类路径中即可。
而且,Groovy 是一种开源语言,由热心的 Java 开发人员社区管理。因为 Groovy 获得 Apache Software license,Version 2.0,所以可以自由地使用它开发自由软件和私有软件。
Groovy 和 Java 语言对比
买 车的时候,如果不试驾一下,是不会买的。所以,在要求您安装 Groovy 之前,我会演示一些代码。首先,回顾一下用 Java 如何创建、编译和运行标准的 Hello World 示例;然后再看看如何使用 Groovy 代码执行同一过程。比较这两个示例,很容易就能看到这两种语言之间的差异。
用 Java 编写的 Hello World
用 Java 编写的典型的 Hello World 示例如下所示:
public class HelloWorld { |
编译和运行 Java 示例
在这个简单的 HelloWorld
类中,我省略了包,而且向控制台输出的时候没有使用任何多余的编码约定。下一步是用 javac
编译这个类,如下所示:
c:>javac HelloWorld.java |
最后,运行经过编译的类:
c:>java HelloWorld |
迄今为止还不错 — 很久以前就会编这么基础的代码了,所以这里只是回顾一下。下面,请看用 Groovy 编码的相同过程。
用 Groovy 编写的 Hello World
就像前面提到过的,Groovy 支持松散的 Java 语法 — 例如,不需要为打印 “Hello World!” 这样的简单 *** 作定义类。
而且,Groovy 使日常的编码活动变得更容易,例如,Groovy 允许输入 println
,而无需输入 System.out.println
。当您输入 println
时,Groovy 会非常聪明地知道您指的是 System.out
。
所以,用 Groovy 编写 Hello World 程序就如下面这样简单:
println "Hello World!" |
请注意,在这段代码周围没有类结构,而且也没有方法结构!我还使用 println
代替了 System.out.println
。
运行 Groovy 示例
假设我将代码保存在文件 MyFirstExample.groovy 内,只要输入以下代码就能运行这个示例:
c:>groovy MyFirstExample.groovy |
在控制台上输出 “Hello World!” 所需的工作就这么多。
快捷方式应用
您可能注意到了,我不必编译 .groovy
文件。这是因为 Groovy 属于脚本语言。脚本语言的一个特点就是能够在运行时进行解释。(在 Java 中,要从源代码编译生成字节码,然后才能进行解释。区别在于脚本语言能够直接 解释源代码。)
Groovy 允许完全省略编译步骤,不过仍然可以 进行编译。如果想要编译代码,可以使用 Groovy 编译器 groovyc
。用 groovyc
编译 Groovy 代码会产生标准的 Java 字节码,然后可以通过 java
命令运行生成的字节码。这是 Groovy 的一项经常被忽略的关键特性:用 Groovy 编写的所有代码都能够通过标准 Java 运行时编译和运行。
至于运行代码,如果我希望更加简洁,我甚至还能输入
c:>groovy -e "println 'Hello World!'" |
这会生成相同的结果,而且甚至无需定义任何文件!
总结以上是内存溢出为你收集整理的Groovy 初探全部内容,希望文章能够帮你解决Groovy 初探所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)