groovy入门
x=1 assert x==1 x=new Date() println "The time now: ${x.toString()}" //将语句嵌入字符串里面,很方便,注,单引号不行 mylist=[1,2,4,1.234] println mylist[0] //1 //列表,其实就是一个arrayList println mylist.getClass() //java.util.ArrayList println mylist.size() //4 scores=["Brett":100,"Pete":"Nothing","Bob":45.23] println scores.Bob==scores["Bob"] //true //map既可以用下标的方式,也可以用取属性的方式 scores.Pete=100 assert scores['Pete']==100 println scores["Pete"] //100 //按key赋值 emptylist=[] println emptylist assert emptylist==[] && emptylist.size()==0 emptymap=[:] println emptymap assert emptymap==[:] && emptylist.size()==0 //空的列表,和空的映射,表示方法不一样 who='lily' if (who=='lily') { println who } //分支语句和java一样 assert 'abcd'<='abcde' //比较操作符已经重载 d=0.1 println d println d.getClass() //java.math.BigDecimal 10.times { i ->print "$i "} //打印 0到9 //grooovy中,没有checked exception 和unchecked exception的区别 def clos={println "Hello,world"} clos() clos() //闭包,就是一段代码 def sum={a,b-> println a+b } sum(1,2) sum('a','b') //可以带参数 def printIt={println "$it"} printIt('default it param') //默认有一个叫it的参数 def sum1={a,Object[]args -> args.each{v->a+=v};println a} sum1(1,2,3,4) //可变参数,只需让最后一个参数的类型是Object[] def local=10 printLocal={println local;return local} assert printLocal()==10 local=11 assert printLocal()==11 //闭包中,可以应用作用域的其他变量 list=['a','c','b'] upper=list.collect({it.toUpperCase()}) assert upper==['A','C','B'] //closure作为方法的参数 println upper newlist=[] list.collect(newlist,{it+'1'}) assert newlist==['a1','c1','b1'] assert newlist.collect(){it[0]} == ['a','c','b'] //当闭包作为函数最后一个参数时,可以这样定义 //闭包示例 list=[1,2,3,4,10,15] assert list.any(){it<2} //肯定至少有一个元素小于2 assert list.every(){it > 0} //所有元素大于0 assert list.find(){it>2} == 3 //第一个大于2的元素是3 assert list.findAll(){it>4} == [10,15] //所有大于4的元素,就是10 和15 assert list.collect{++it} == [2,3,4,5,11,16] list.each { print it} //打印所有元素 println "" list.eachWithIndex {it,idx -> println "$idx:$it "} //打印所有元素和下标 10.times{println "10 times $it"} //执行10次 0.step(10,2){println "5 times $it"} //执行了5次,0,2,4,6,8 println "done."
相关推荐
淡茶 2011-11-30
拉斯厄尔高福 2020-10-19
83540690 2020-08-16
lustdevil 2020-08-03
doupoo 2020-07-28
yuzhongdelei0 2020-07-04
lustdevil 2020-06-25
lustdevil 2020-06-21
上班打发 2020-06-14
xcguoyu 2020-05-15
fanhuasijin 2020-02-17
sulindong0 2020-02-15
Julywhj 2020-02-02
xiaobater 2020-02-02
柠檬班 2020-01-30
KilluaZoldyck 2020-01-29
JackYin 2020-01-24
86427019 2020-01-20
taoqilin 2020-01-18