微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Groovy学习笔记2-基本语法

声明一个变量:

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 举报,一经查实,本站将立刻删除。

相关推荐