groovy基本语法 - wtdig/study GitHub Wiki

一、groovy的基本语法

class GradleDemo{

    def max
    def min

    GradleDemo(def min,def max){
        this.max = max
        this.min = min
    }
}

//get set方式可以省略 ,取值直接使用  对象.属性 即可
// 数据类型使用弱类型,会自动推断类型  def
def demo = new GradleDemo(0,100)
println demo.max

//list集合
def list = ['a','b','c']
list << 'd'
println list.getClass()
println list.size()
println list.get(0)

// 3种字符串
// ''只代表字符串;
// ""可以使用${}方式引用外部变量;
// ''''''可以换行
def str1 = 'this is string'
def str2 = "use def str1 ${str1}"
def str3 = '''this
is
def
string'''

println str1
println str2
println str3

//map遍历
def  testMap = [test1:"test1",test2:"test2"]
testMap.test3 = "test3"
println testMap.getClass()
println testMap.values()

//闭包用法
def hello={
    println "hello"
}
hello()

//传参
def method1 ={
    v ->
        println v
}
method1("111")

//单个隐参数
def cols3={
    println "Hello ${it}"
}
cols3("二狗")

//闭包中引用外部变量
def outValue = "outVale"
def outMethod= {
    params ->
        println "${outValue},${params}"
}
outMethod("is ok")

//闭包也常用在集合中,使用闭包可以更加的高效的遍历集合的元素,并将闭包应用到每个元素中去
[1,2,3,4,5].each { println it}
['张三':100,'李四':200,'王五':300].each { println it}
['张三':100,'李四':200,'王五':300].each { println it.key+":"+it.value}

def  staff= ["李铭":10,"李浩":20,"二狗":50]
list=staff.collect {e->++e.value}
println "staff:${list}"

staff = staff.collect {e->++e.value;return e}
println staff