Gradle篇一——groovy基础

本文介绍了Groovy语言相较于Java的独特之处,包括语法上的灵活性如可选分号与自动添加set/get方法等,同时展示了Groovy的高效特性,例如类型推断、集合API的增强以及闭包的使用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、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 ''
//}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值