简单的Groovy基础

一.什么是Groovy

Groovy是一种基于JVM(JAVA虚拟机)的敏捷开发语言,结合Python,Ruby,Smalltalk等许多很多强大的特性,Groovy代码能够和java代码很好地结合。Groovy类和java类一样,完全可以用标准的java bean语法定义一个Groovy类,但是试用Groovy的方式定义类,这样的好处可以写少一半的代码。

1.不需要public修饰符

2.不需要类型说明

3.不需要get/set方法

4.不需要构造函数

5.不需要return

6.不需要()

身为Android开发者为什么要学Groovy呢,因为Gradle的背后就是Groovy来支持的。

首先先介绍如何在android stdio运行groovy:

在跟目录build.gradle下直接编写groovy:


然后在Terminal敲命令:


即可运行成功.注意:paul是task的名字

基本语法:

用def来定义变量和方法:


关键词

as assert break case
catch class const continue
def default do else
enum extends false Finally
for goto if implements
import in instanceof interface
new pull package return
super switch this throw
throws trait true try
while      
数据类型

Groovy提供多种内置数据类型:

byte:表示字节值

short:表示一个短整型

int:用来表示整数

long:用来表示长整型

float:用来表示32位浮点数

double:用来表示64位浮点数

char:定义了单个字符文字

boolean:表示一个布尔值

String:以字符串的形式表示文本

变量命名

变量的名称可以由字母,数字和下划线开头,大写和小写字母是不一样


运算符
算术运算符:

+两个操作数的加法

-两个操作数的减法

*两个操作数的乘法

/两个操作数的除法

%取模运算

++自增运算

--自减运算

关系运算符

== 两个对象是否相等

!=两个对象是否不等

<左边的对象是否小于右边的对象

<=左边的对象是否小于右边的对象

>左边的对象是否比右边的对象大

>=左边的对象是否大于等于右边的对象

逻辑运算符

&&逻辑与 

||l逻辑或

!逻辑非

位运算符

&位与运算

|位或运算

~按位反运算

^按位异或

泛型

在定义类,接口和方法时,泛型能使(类或接口)作为参数,在方法声明中使用更熟悉的形式参数非常类似,类型参数提供一种方法,可以为不同的输入重复使用相同的代码。区别在于形式参数的输入值,类型参数的输入数类型。

下面写个例子:


上面代码是创建一个名为ListTest的类,在类定义前面的<T>关键字,告诉编译器这个类是可以接受任何类型的。在Task中声明两个不同类型的对象,第一个是String类型,第二个是Integer类型。

闭包

闭包是一个短的匿名代码块,通常跨越几行代码,一个方法甚至可以将代码块作为参数,它们是匿名的

下面举个例子:


在上面的例子中,代码行{println"sssss"}称为闭包,此标识符引用的代码块可以使用calll来执行,效果如下图:



闭包可以包含形式参数,使它们更有用,像Groovy一样。


上面例子中,注意&{param},这让cln接受一个参数,当通过cln.call()语句时,可以选择一个参数传递给闭包。结果如下:


闭包可以在定义闭包时引用变量


在方法中使用闭包,闭包也可以用作方法的参数,在Groovy中,很多用于数据类型的内置方法都有闭包作为参数类型,下面是例子:


在上述例子中,定义了一个名为mFun的静态方法,它将闭包作为参数。

然后我们在task里定义一个闭包,作为一个参数传递给mFun方法

结果显而易见:


另外还有很多语法 用的时候可以查看官方文档或者点击打开链接

猜你喜欢

转载自blog.csdn.net/qq_33453910/article/details/80502411
今日推荐