Groovy语言学习--语法基础(2)
集合和闭包
因为之前没接触过C++等,对指针也一窍不通。个人不成熟的了解 闭包是一种数据类型,可以很方便的执行一段独立的代码 简化方法的调用
package groovy /** * Groovy容器 */ class GroovyCabin{ } /* * List 有丰富的api idea中可用listA. 查看 */ def listA = [5,"string","false"] print listA println listA[1] println listA.size() listA.add("moniter") println listA.size() listA[9] = 9 println listA listA << 7 //在listA里添加数据 相当于listA.add(7) println listA /* * Map */ def map = [key1:"john",key2:"tom",key3: listA] println map.keySet() println map.values() println map.get("key2") //返回key2的值 map.put("key4", "company") println map //遍历 Iterator it = map.iterator() while (it.hasNext()) { println it.next() } println map.containsValue("tom") println map.containsKey("key1") Set set = map.keySet() //把map的Key值转换为set println set /* * 闭包 Clouser 闭包是一种数据类型,它代表了一段可执行的代码 * def xx = { params -> code } def xx = { code } */ def clouserA = { String param1,int param2 -> println "this is code" return param1 + "welcome" + param2 } /* * 闭包定义好后,要调用它的方法就是 闭包对象.call(参数) or 闭包对象(参数) */ println clouserA.call("this is code",100) println clouserA("A",200) def funC = { -> "abced" } println funC.call() def list = [1,2,3] //定义一个list list.each{ println it } //当函数的最后一个参数是闭包的话,可以省略圆括号 def funD(int num,String str,Closure closure) { println num+str closure() //调用闭包 } funD(4,"test",{ println "close package" })