Gradle构建工具之Groovy的基本语法

前言

相信开发Android的对Gradle不陌生,但是我们在使用Android Studio(下面简称AS)的时候只知道使用而不太清楚gradle文件中的含义,因此有必要学习下并做下笔记。

首先AS中构建项目的工具使用的是Gradle,而Gradle构建的命令(脚本)使用的Groovy语言(一种基于JVM的脚本语言),这玩意儿几乎就是精简版的Java,省略了很多东西(当然也增加了一些特性)。不过听说Gradle开始支持Kotlin了,而Android也选定了Kotlin,我猜以后Kotlin会替代Groovy了。另外作为Java EE的知名框架Spring从第五个版本也开始支持Kotlin,感觉Kotlin要大火啊。不过,就目前来说还是有必要学下Groovy。

//1.定义变量
def number = 18
println number
//2.定义字符串,有3种形式(字符串是可以使用+号来拼接的)
def s1 = 'name' + ' age'
def s2 = "我的年龄是${number}"   //双引号中间可以插入变量
def s3 = ''' 这是有3个单引号括起来的字符串 ''' + '这是拼接的字符串'

println s1
println s2
println s3
//3.定义List集合
def buildTools = ['ant', 'maven']
//向集合中追加一个元素
buildTools << 'gradle'

//断言是否是ArrayList类型
assert buildTools.getClass() == ArrayList
assert buildTools.size() == 3
//4.定义Map集合
def buildYears = ['ant': 2000, 'maven': 2004]
//向Map中添加一个元素
buildYears.gradle = '2009'

//输出Map的元素值
println buildYears.ant
println buildYears['gradle']

//对应的Java类型是LinkedHashMap
println buildYears.getClass()
//5.闭包,就感觉跟JavaScript中的函数一个样,可以作为参数传进去,然后调用
//带参数的闭包
def closure1 = {
    param ->
        println param
}

//不带参数的闭包
def closure2 = {
    print "这是闭包"
}

//方法1
def method1(Closure closure) {
    closure('这是带参数的闭包')
}
//方法2
def method2(Closure closure) {
    closure()
}

//调用方法,传入闭包“变量”
method1(closure1)
method2(closure2)
相关文章

相关标签/搜索