简单的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来定义变量和方法:


关键词

asassertbreakcase
catchclassconstcontinue
defdefaultdoelse
enumextendsfalseFinally
forgotoifimplements
importininstanceofinterface
newpullpackagereturn
superswitchthisthrow
throwstraittruetry
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方法

结果显而易见:


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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值