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
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