声明一个变量:
def age=25
def someMethod(para1,para2=0,pare3=0){ def total=para1+para2+para3 //;分号省略,推荐带上。 total //或者 return total }
someMethod(5,6) //3个参数可只传2个,第三个参数采用默认值
列表List是一种用来存储数据项集合的数据结构,可以存放不同类型的值,可以用+连接2个列表,或-操作符删除元素
def list=[11,13,"Tom",17] //list的加法 list+["Tom"] //list的减法 list-[13] //添加元素 list<<"hello" list.add("world") //去除重复元素 list.unique() //集合反转 list.reverse() //排序 list.sort() //list求和 list.sum() //取出最大值和最小值 list.max() //元素筛选 def arr5=[3,8,9,10,5,6] println arr5.grep{ it>6 } //求交集 def arr2=["北京","上海"] def arr3=["上海","宁波"] println arr2.intersect(arr3) //join方法 def array=[1989,12,25] println array.join("-") println array[1,2].join("-")
映射Map是一种引用对象的无序集合,也就是大家熟悉的组合数组、词典、表格、散列
//初始化一个集合 def students=['Jack':24,'Tom':22] //定义一个空集合 def m=[:] //设置集合的内容,其中name,age为key m.name="Lucy" m.age=16 m.height=165 //这种方式也可以向map中添加元素 m.put("sex","女") //取得集合的内容(单个) println m.get("name") m.each { it -> println it.key+","+it.value } //删除集合元素 m.remove("height") println m.get("sex") println m.get("height")
范围Range是表达式特定虚列值的一种简略形式
def range1=100...200 //包含边界 def range2=100...<200 //不包含边界 //是否包含一个元素 assert (0..10).contains(5) == true //集合大小 assert (0..<10).size() == 10 //获取指定范围内的元素 assert [22,33,44,55,66].grep((21..50)) == [22,44] //迭代闭包 def str = '' (9..5).each{element-> str+=element } println(str) -> "98765" //在switch case语句中使用 age = 36 switch (age){ case 10..26: rate =0.05;break case 27..36: rate = 0.06;break case 37..46: rate =0.07;break default: throw new IllegalArgumentException() } assert rate==0.06
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。