Groovy <1> 语言特性
前言
Groovy 是基于 JRE 的脚本语言( Script ),是由James Strachan 和 Bob McWhirter 这两位天才发明的,(JSR 241 2004 年 3 月)。
和Perl,Python等等Script的设计初衷一样,作者希望Groovy能快速简洁地完成一些工作:如访问数据库以编写报告,编写单元测试用例(Unit Test Case),快速实现产品原型(ProtoType) 等等。
同时为了降低学习曲线,Groovy 的语法和Java 近似,并吸收了 Ruby,Python 和SmallTalk 的一些特点,因此 Groovy 在某些场合可以扮演一种 “咖啡伴侣”的角色。
那么Groovy 和 Java 相比,有什么变化呢? Groovy 和大部分Scripts一样:
- 不用编译,通过解释运行。
- 允许动态类型。
- 合成结构容易。
因此,Groovy 是一种特别容易学习和使用的语言.
我们先借用IBM Groovy教程中的例子,下面的代码利用了Freemarker模板引擎来创建一个Template对象,然后将内容打印到标准输出。例(1)是Java代码,例(2)是Groovy代码。可以看到二者非常的类似。
//简单的 TemplateReader Java 类
import java.io.File;
import java.io.IOException;
import freemarker.template.Configuration;
import freemarker.template.Template;
public class TemplateReader {
public static void main(String[] args){
try{
Configuration cfg = Configuration.getDefaultConfiguration();
cfg.setDirectoryForTemplateLoading(new File("C:/dev/projects/http-tester/src/conf"));
Template temp = cfg.getTemplate("vendor-request.tmpl");
System.out.println(temp.toString());
}
catch(IOException e){
e.printStackTrace();
}
}
}和例2 中的 Groovy 作为对比.
//用 Groovy 编写的更简单的 TemplateReader
//语法目前基于Groovy 1.0-JSR3
import freemarker.template.Configuration as tconf
import java.io.File
cfg = tconf.getDefaultConfiguration()
cfg.setDirectoryForTemplateLoading( new File("C:/dev/projects/http-tester/src/conf"))
temp = cfg.getTemplate("vendor-request.tmpl")
println temp.toString()Groovy显然精简得多:
- Groovy 代码只需要更少的import 语句。此外,freemarker.template.Configuration 还使用了别名 tconf。
- Groovy 允许直接使用类型为Template 的变量 tmpl 而不用声明其类型。
- Groovy 不需要class 声明或者main 方法。
- Groovy 不关心异常,可以不用导入Java需要的IOException。
对Groovy感兴趣吗?别忘了拜访它的主页
http://groovy.codehaus.org/ 并下载最新的Groovy发布包哦。(ray_linn)
下一篇 >>>
Groovy 2 基础语法Groovy系列目前以Groovy1.0 - JSR3为基础,但Groovy还在不断的成长当中,如果您发现任何与当前之JSR冲突或者无法运行之脚本,你可以和我联系: email://ray_linn@hotmail.com.