微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

第一章:groovy 的语法和用法习惯

    我们将介绍 groovy 语言的基础知识, 使用 groovy 需要知道的两件事:代码外观和断言。 我是看着Groovy in Action的时候,写这个博客的。所以很多东西是从里面复制出来的,希望大家去看原书。

1.注释

    和java一样,Groovy使用//做单行注释,/* */做区间注释。

// 单行注释

/*
多行注释
*/

    但是Groovy有个特别的注释:   #!/usr/bin/groovy ,该注释只能放在第一行,通过这种方式 Unix shell 能定位 groovy 的启动脚本并且运行这些脚本。

javaDoc注释和groovydoc注释也是等价的,这里就不做介绍了。

2.Groovy和java语法的比较。

     以前的Groovy不支持 for(init;test;inc) 这种java经典循环,但是如果你下载最新的Groovy2.x它已经支持了,所以Groovy和java的兼容性已经很好了。当然,Groovy作为一个脚本语言,还是有特殊的区别,比如 ==运算符。 如果不是强制比较对象地址,java应该使用equals方法。但是Groovy的==运算符,会自动调用equals方法,也避免了小白老是乱用==符号。(我们公司的实习生老是用==,造成各种问题,我已经纠正了很多次了)。也就是说 Groovy的==符号,相当于equals.

 

3.Groovy简洁的代码

Groovy 允许忽略一些在 java 中必须的语法元素,忽略这些元素的结果是代码更简短、更少冗余和更清晰的表述。 例如, 将一个 String 对象编码为一个 URL 对象, 比较它们的 java 和 groovy 的代码

Java:
    java.net.URLEncoder.encode("a b");
Groovy:
    URLEncoder.encode 'a b'

groovy 的代码不但更简短, 而且以尽可能简单的方法表述了我们的目标。 忽略了包的前缀,圆括号和分号,代码量减少到最小。

Groovy 自动导入以下包和类:
groovy.lang.*
groovy.util.*
java.lang.*
java.util.*
java.net.*
java.io.*
java.math.BigInteger
java.math.BigDecimal

所以在使用它们时,你可以不用去import这些java class了。

Groovy的Class声明。

class MyClass{

String title

printTitile() {

  print title;

}

}

Groovy的修饰符认都是public,你可以省略去写getter,setter的麻烦,直接引用,方法的声明也很简单,是不是比java的类省事多了。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐