Gradle篇一——groovy基础

来源:互联网 发布:js 禁用input select 编辑:程序博客网 时间:2024/05/02 00:08

一、groovy与java的区别:

// 1、 分号可不写
// 2、可自动属性添加set/get方法
// 3、最后一个表达式值会作为方法返回值
//4、使用点号获取属性
//5、==等于equals,不会报空指针异常

public class ProjectVersion{    private int major    private int minor    public ProjectVersion(int major ,int minor){        this.major=major;        this.minor=minor;    }    public void setMajor(int major){        this.major=major;    }    public int getMajor(){        major;    }}ProjectVersion p1=new ProjectVersion(1,1);println p1.major;ProjectVersion p2=null;println p2==p1

二、groovy高效特性

//1.可选的类型定义
def version =1

//2.assert
//assert version==2

//3.括号是可选的
//println version

//4.字符串三种写法

def s1='imooc'//仅仅是字符串def s2="gradle version is ${version}" //可插入变量def s3 ='''myname is  imooc'''//可以换行//println s1//println s2

//5.集合API

//listdef buildTools=['ant','maven'];buildTools<<"gradle"//assert buildTools.getClass()==ArrayList//assert buildTools.size()==3def buildYears=['ant':2000,'maven':2004]buildYears.gradle=2009//println buildYears.ant//println buildYears['gradle']//println buildYears.getClass()

//6.闭包(代码块)

//有参数def c1={    v ->        println 1        println v}//无参数def c2={    println 'hello'}def method1(Closure closure) {    closure('params')}def method2(Closure closure){    closure()}method1 (c1)//method2(c2)//每个gradle构建脚本中都默认有个project实例//appaly plugin:'java'//version='0.1'//repositories{//    mavenCentral()//}//dependencies{//    compile ''//}