一、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 ='''my
name
is
imooc'''//可以换行
//println s1
//println s2
//5.集合API
//list
def buildTools=['ant','maven'];
buildTools<<"gradle"
//assert buildTools.getClass()==ArrayList
//assert buildTools.size()==3
def 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 ''
//}