标签:
在学习Grails的时候与Groovy打交道不可避免,虽然不必太深刻,但多知道一些特性也是很有帮助的~
使用intdiv()方法可以获得整数,注意点是这个方法只适用两个整数相除,浮点数不行
Groovy中的闭包和方法很类似,其直接调用方式有两种:
//定义一个闭包 def clos={println it} //第一种闭包调用 clos.call(‘奥巴马‘) //第二种闭包调用 clos(‘笨拉灯‘)
在Groovy中,Map的key值默认是字符串,如果希望key值是变量的话,需要用()将变量括起来:
def x=‘123‘ def map=[(x):45] println map.toString()
1.Groovy类存在基于Map初始化的默认构造函数
//构造一个Groovy类 class cs{ String name } //实例化 def c=new cs(name:‘tita‘) //或者 def cc=new cs([name:‘tt‘])
2.Groovy类的属性字段没有定义访问限定符,默认为private
class A{String name} //等价 class A1{ private String name public String getName(){ name } public void setName(String name){ this.name=name } } def a=new A(name:‘tt‘) //也就是说以下等价 println a.name println a.getName()
List有一个非常有用的运算符——*,在两种情况下很有用:
1.将*号放在一个List对象的后面,如
def list=[1,2,3] def temp=list*.intdiv(2) println temp
这时,List对象中的每个元素都会调用*后面的方法,返回的依旧是个List对象
2.放在范围的前面,如:
def range=0..9 def temp=[*range] println temp
注意[]必不可少,因为这种方式就是为了展开范围生成List对象
标签:
原文地址:http://www.cnblogs.com/liaochong/p/groovyList.html