Gradle - 【Groovy】groovy概述

    科技2024-10-27  11

    Grovvy

    Groovy是什么? 为什么在介绍Gradle之前需要基本了解Groovy? 测试环境:IDEA-TOOL-GROOVY TOOL基本类型使用 def 可省略 复杂类型使用 ListSetMap 方法闭包

    一:Groovy是什么?

    groovy 出色的、绝妙的

    Grovvy是一种基于JVM的动态语言,根据自己的编译器获得符合JVM规范的字节码(在JVM上运行),是一种DSL(Domain Specific Language),与之对应Java是一种GPL(General Purpose Language),能够与Java很好的结合;

    Grovvy依赖JDK中的JVM来运行自己的字节码。

    为什么在介绍Gradle之前需要基本了解Groovy?

    → Gradle中.gradle配置文件语法就是Groovy的语法。

    二:基本类型使用

    /** * 变量均可以使用def声明变量,也可直接省略 */ a1 = 10 a2 = 9999999 a3 = 1.02 println a1 println a2 println a3

    三:复杂类型使用

    /** * List */ list = [1,2,3,4,"hello"] println list println list.get(0) list << "world" for (i in list) { println i } println list /** * Set */ set = [1,2,3,4,4,4,4,5,5,5,1].toSet() set1 = [1,2,3,4,4,4,4,5,5,5,1] as Set println set println set1 println set instanceof Set println set1 instanceof Set /** * Map */ map = ["1":"hello","2":"world"] println map println map.get("1") map."3" = "abc" println map for (i in map) { println i } for (i in map.keySet()) { print i+" " println map.get(i) }

    四:方法

    // 方法的def不可以省略 def fun1(a,b,c=10){ println a+b+c } fun1(25,1) fun1(25,1,9)

    1> 方法只有一个参数时,调用可以连括号都给省掉

    // 闭包是一个代码块,使用时需要在后面加()以函数的形式使用 dependencies = { println "hello" } dependencies() // 闭包作为参数 def fun(Closure closure){ println "AAA" closure() println "BBB" } fun(dependencies) fun dependencies

    2> 函数作为参数

    // 函数参数是另一个函数 def fun1(fun2){} def fun2(int a,int b,int c){ println a+b+c } fun1 fun2(1,2,3)

    3> 含有多个参数的方法

    def fun(a,b,c){ println a+b+c } fun 1,2,2

    五:闭包

    // 闭包是一个代码块,使用时需要在后面加()以函数的形式使用 dependencies = { println "hello" } dependencies() // 闭包作为参数 def fun(Closure closure){ closure() } fun(dependencies)

    1> 当函数参数只有一个且为闭包时,调用该方法可以进行简化

    // 闭包作为参数 def fun(Closure closure){ println "AAA" closure() println "BBB" } fun{ println 123 }
    Processed: 0.016, SQL: 8