就个人体会而言groovy是一门类似于scala的语言,集函数式与对象于一体的一门语言,从另外一个角度来看也可以说是在java基础上的封装,java能支持的操作,groovy基本都支持,毕竟groovy的运行环境也是jvm,其编译后的文件依然是.class后缀的文件,包括groovy的script编译后也是系统生成main函数去调用的,所以大部分跟java是一样的,是可以满足大部分java开发者顺利转入groovy开发的需求,因为groovy的特殊性,也造成了其代码可以更加精简不过jdk8以后的lambda表达式支持,流处理操作java也是可以很简洁了.那么groovy的特点在哪里,我觉得应该是其动态编译使我们能够在一个非常完善的平台上也能进行扩展和开发,废话不多说,一些日常操作的代码贴出来看看
package groovy import com.alibaba.fastjson.JSON import com.alibaba.fastjson.JSONArray import com.alibaba.fastjson.JSONObject import java.text.SimpleDateFormat /** * 变量 */ print("你好") def value1="曾经我也是一个普通人"; def value2=''' 三个引号的字符串,支持直接换行 ask for you ''' //Groovy中支持动态类型,即定义变量的时候可以不指定其类型,也可以指定类型 double value3=1.212 println(value1) println(value2+","+value3) /** * 方法 ,如果指定了方法返回的数据类型则必须要返回值,返回值就是最后一个值或则用return,如果没有指定的话则没有返回值 */ def function1(){ println("我是无参函数") } def funtion2(def1,def2){ println('我是有参数的函数'+def1+','+def2) } funtion2('zhang','chaohong') String function3(){ // 用return指定返回值的时候以return为准,否则以最后一个值为返回值 return "指定了返回值啦"; '看看能不能访问到我' } println(function3()) println '不加括号的打印方法' /** * 断言assert 如果断言发生,断言后面的代码无法执行 */ //def s1 = null //assert s1 //assert value1.length()<3 /** * for循环 time循环 */ //for for(int i=0;i<5;i++){ printf("大傻逼"+i+"