gradle之groovy入门(2)

前面我们已经了解和安装gradle,但是为了学好gradle,那就先了解一下groovy吧!

groovy语法

提示:测试方法(Idea)
1)new Project – gradle
2)Tools – groovy console
3)在groovy console里面编写groovy代码


groovy介绍

Groovy是java虚拟机的一种敏捷的动态语言,既可以使用动态语言的特性,又可以写脚本,gradle的构建脚本就是用groovy写的。

基本语法

1)可以省略行尾分号
2)可以省略方法的参数类型
3)类有默认的getter/setter方法,可以省略不写
4)方法默认最后一行为返回值,可以不写return
5)可以直接通过.xx访问属性
6)==其实调用了equals方法

groovy的代码示例:

public class ProjectVersion{
    private int major;
    // 1)可以省略分号
    private int minor

    // 2) 可以省略参数类型
    ProjectVersion(major, int minor) {
        this.major = major
        this.minor = minor
    }

    int getMajor() {
        // 4) 默认最后一行返回值
        // return major 等于
        major
    }

    void setMajor(int major) {
        this.major = major
    }

    // 3) 默认有getter/setter方法
}

ProjectVersion v1 = new ProjectVersion(1,1);

// 4)默认最后一行返回值,可以省略return
println v1.getMajor()

// 5)可以直接访问属性
println(v1.minor)

// 6) == 其实是equals()方法
ProjectVersion v2 = null;
println v2==v1

groovy的高级特性


1)def定义变量不用写类型
2)assert使用
3)调用方法的括号是可选的
4)字符串3种写法
5)集合api
6)closure 闭包

// 1 可选的类型定义
// 这里的version是int
def version = 1

// 2 assert
// assert version == 2

// 3 括号是可选的
println(version)
println version

// 4 字符串的定义
// 4.1普通的字符串
def s1 = 'immoc'
// 4.2 可以传递变量
def s2 = "gradle version is ${version}"
// 4.3 可以换行显示
def s3 = '''my name
is
jack
'''
println s1
println s2
println s3

// 5 集合api
// 5.1 list
def buildTools = ['ant', 'maven'];
// 添加元素
buildTools << 'gradle'
assert buildTools.getClass() == ArrayList
assert buildTools.size() == 3

// 5.2 map
def buildYears = ['ant' : 2000, 'maven' : 2004]
buildYears.gradle = 2009
println buildYears.ant
println buildYears['gradle']
println buildYears.getClass()  // java.util.LinkedHashMap

// 6 闭包
// 6.1) 带参数的闭包
def c1 = {
    v ->
        print v
}

// 6.2) 不带参数的闭包
def c2 = {
    print 'hello'
}

def method1(Closure clourse){
    clourse('param')
}
def method2(Closure clourse){
    clourse()
}
method1(c1)
method2(c2)

重点


gradle最简单的构建脚本分析

// 构建脚本默认都是有一个Project实例,这里是调用apply方法
// apply(plugin:'java')
apply plugin:'java'

// Project上有一个属性是vesion
version = '0.1'

// Repository是一个方法 ,这里使用闭包作为参数
repository {
    mavenCentral()
}

// dependencies是一个方法 ,这里使用闭包作为参数
dependencies {
    compile 'commons-codec:commons-codec:1.6'
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值