lesson 2 Gradle基本语法

本文介绍Gradle的基础语法,以及如何通过Groovy语言进行配置。探讨了Groovy的特性,如闭包、字符串处理等,同时展示了Gradle脚本中的闭包使用实例。

lesson 2 Gradle基本语法

之前说过,gradle是基于Groovy语言的,那么现在来说一说他的一些基本语法,和在gradle中常用的一些方法。

如果小伙伴们使用了eclipse或者idea那么都可以使用IDE中安装的groovy插件进行操作。下面以idea为例。
在idea中工具栏中选择tools->Groovy console就可以打开一个groovy的窗口了。
然后可以在里面敲一些代码,print 'Hello World'然后点击运行,在控制台里,Hello World就被输出了,是不是感觉很简单呢。下面来说一些具体的语法吧。

在Groovy中,可以兼容java代码,下面的代码在groovy中是没有问题的。

Groovy中会默认public声明,也可以忽略行末的分号,它也支持自行推断变量类型而省略类型声明。

在类中,会默认创建setter和getter方法,调用的时候可以调用setter,getter,也可以直接点属性。

它使用def作为声明,类似js中的var

方法的返回值的return也是可以忽略的,但是会默认返回方法体中最后一行代码的结果。

class Demo{//和public class Demo是一样的
	int a//变量中public也可以省略
	String str;
	def method1(){
		def a = 1
		def b = 'abc'
		def c = new String();
		System.out.println b;//括号可以省略
	}
}
def demo = new Demo()
print demo.a

Groovy中字符串有三种表示方法,'hi',"hi"'''hi'''这样三种,一表示为单纯的字符串,就是一个最普通的字符串,第二种则有些不同,他可以引用一些变量进去,第三种则是可以换行的字符串,下面举例说明。

//先用java的方式定义个变量
int a = 123;

//groovy的三种字符串表示方法
println 'abc${a}'
println "abc${a}"
println '''
    abc${a}
'''

控制台输出

> println 'abc${a}'
> println "abc${a}"
> println '''
>     abc${a}
> '''
abc${a}
abc123

    abc${a}

可以观察到,1和3的写法中,并不能引用a变量,2是可以的

上面都是groovy中比较简单的语法,groovy中比较重要的一个概念叫做闭包(closure)。它既可以作为方法来执行,也可以作为参数来传递。

//定义方式
def closure = {
	v->//参数以“,”分割,如果没有,也可以不写
		println v
}
//调用方式
closure()//根据需求填写参数,括号可忽略
closure.call()//参数同上
//闭包可以调用外部的变量,方法不可以
def c = {	//成功执行
    v->
    print v+'hi'+' '+${a}
}
def abc(){		//失败,会报错
    println "hello${a}"
}

闭包可以更灵活的构成代码结构,当然这也它的弊端之一,同时也会使代码更不容易阅读。

说完了它的一些基本概念,感兴趣的同学可以学习一下groovy的具体内容,咱们就不讲的太复杂了。

下面从build.gradle文件来说一说它里面的语法:

//这是个闭包
plugins {
	id ‘java’
}

//是一个方法,也是一个成员变量,所以也可以写作 group('com.gradle.learn')或group='com.gradle.learn'
group ‘com.gradle.learn’  
version ‘1.0-SNAPSHOT’

sourceCompatibility = 1.8
//这是个闭包
repositories {
	mavenCentral()
}
//这是个闭包
dependencies {
	testCompile ‘junit:junit:4.11’
}

闭包在Gradle中几乎无处不在,相信大家应该了解完groovy的简单语法之后,应该是可以看懂Gradle的脚本了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值