Blog信息 |
blog名称: 日志总数:1304 评论数量:2242 留言数量:5 访问次数:7628677 建立时间:2006年5月29日 |

| |
[Groovy]Groovy 1 语法特性 软件技术
lhwork 发表于 2006/12/15 15:44:15 |
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-JSR3import freemarker.template.Configuration as tconfimport java.io.Filecfg = 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感兴趣吗?别忘了拜访它的主页 500)this.width=500'>http://groovy.codehaus.org/ 并下载最新的Groovy发布包哦。(ray_linn) |
|
|