文章目录
一、初识gradle
1.1 gradle 是什么
Gradle是一个基于Apache Ant和Apache Maven概念的项目自动化建构工具。Gradle 构建脚本使用的是Groovy 或 Kotlin 的特定领域语言来编写的,而不是传统的XML。
1.2 gradle 基本语法
使用Groovy语言编写Gradle构建脚本时,我们需要掌握一定的语法。
- Groovy代码行都可以省略分号;
println("hello groovy!")
- Groovy类默认带有具名构造器 key:value,其中key为类中的定义的属性名;
// 定义一个学生类
class Stu {
// 定义属性,省略分号
private String username
private String email
int age
// 省略return
String getUsername() {
username
}
void setUsername(String username) {
this.username = username
}
}
// 在groovy脚本中使用类
// 通过json调用具名构造器
Stu stu = new Stu(username: "tom", email: "[email protected]", age: 20)
println stu.username + "-" + stu.email + "-" + stu.age // 输出:[email protected]
- Groovy除了支持Java语言本身的数据类型,还提供了
def
关键字定义弱类型属性;
def str='text'
println(str) // 输出:text
- Groovy调用有参函数时可以省略括号;
println "hello groovy"
// 等价于 println("hello groovy")
- Groovy支持
'
、"
、'''
三种引号形式定义字符串,在双引号("
)字符串中可以通过${var}
的方式引用其他变量的值,而三引号('''
)字符串则会保留引号内文本原有的格式输出;
def s1 = 'tom'
def s2 = "hello ${
s1}" // s2引用了变量s1的值
println s2 // 输出:hello tom
def s3 = '''
这是缩进行
空两个
'''
println s3 // 会原样输出文本
- Groovy引入了闭包类(
Closure
),且闭包类常被用于函数参数传递。闭包其实由{}
包围起来的代码块。
// 定义一个闭包
def c1 = {
println "hello c1"
}
// 执行闭包
// c1 其实是 Closure 类型
c1()
// 另一种方式去执行
c1.call