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

    咱们将介绍 groovy 语言的基础知识, 使用 groovy 须要知道的两件事:代码外观和断言。 我是看着Groovy in Action的时候,写这个博客的。因此不少东西是从里面复制出来的,但愿你们去看原书。 java

1.注释 shell

    和java同样,Groovy使用//作单行注释,/* */作区间注释。 编码

// 单行注释 spa

/*
多行注释
*/ .net

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

javaDoc注释和GroovyDoc注释也是等价的,这里就不作介绍了。 对象

2.Groovy和java语法的比较。 ci

     之前的Groovy不支持 for(init;test;inc) 这种java经典循环,可是若是你下载最新的Groovy2.x它已经支持了,因此Groovy和java的兼容性已经很好了。固然,Groovy做为一个脚本语言,仍是有特殊的区别,好比 ==运算符。 若是不是强制比较对象地址,java应该使用equals方法。可是Groovy的==运算符,会自动调用equals方法,也避免了小白总是乱用==符号。(咱们公司的实习生总是用==,形成各类问题,我已经纠正了不少次了)。也就是说 Groovy的==符号,至关于equals. get

 

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的类省事多了。

相关文章
相关标签/搜索