加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

groovy的使用-简介

发布时间:2020-12-14 16:45:43 所属栏目:大数据 来源:网络整理
导读:在线编译器: http://ideone.com/ai3ZbD ? Groovy是 Java平台 上设计的 面向对象编程 语言,可以作为Java平台的 脚本语言 使用。在 android studio 中用的 gradle 就是基于 Groovy 语言的,学习了 《Groovy入门经典》 ,要点如下。 ? ( 1 )为什么使用脚本

在线编译器:http://ideone.com/ai3ZbD

?

Groovy是Java平台上设计的面向对象编程语言,可以作为Java平台的脚本语言使用。在 android studio 中用的 gradle 就是基于 Groovy 语言的,学习了《Groovy入门经典》,要点如下。

?

1)为什么使用脚本语言

脚本语言和系统语言(如java)设计的目的不同。脚本语言多用于连接已有的程序,不是实现复杂的算法和数据结构,代码量少,开发效率高,多用于小中型项目。

?

2)数值和表达式

Groovy是一门面向对象的语言,所以任何东西都是对象,能直接调用方法,如123.plus(456)

定义变量用 def,弱类型不需要定义类型,而且可以改变类型,如

def?count?=?0??

count?=?'0'?

?

3)字符串

字符串可以用单引号(')、双引号(")、三引号('''' '')表示,单引号不解释字符串,双引号三引号解释字符串可以加入变量,如

def age = 2?

'my age is ${age}'//my age is${age}?

"my age is ${age}"//myage is 2

?

4)列表(list)、映射(map)和范围(range

列表范例:

def numbers = [11,12,13,14]?

numbers[3]//14?

numbers[-1]//负数倒序获取,14?

[11,14].add(15)//[11,14,15]

映射范例:

def names =['1':'wang','2':'li',3:'zhang']?

names['1']//wang?

names.1//wang?

names[3]//zhang?

names.put('4','guo')

范围范例:

def start = 1?

def finish = 4?

start..finish//[1,2,3,4],包含关系?

start..<finish//[1,3],不包含关系

?

5)输入输出

print 'i am'//不换行输出?

println 'i am'//换行输出?

?

def nums = [1,3]?

def names =['1':'wang',3:'zhang']?

println"${nums}"//[1,3]?

println "${names}"//['1':'wang',3:'zhang']?

?

def i = 1?

def f = 1.0?

def s = 'me'?

print("%i,%f,%sn",[i,f,s])//1,1.0,me?

?

6)方法

最简单的方法调用

def greetings(){

?println "hello world"

}

greetings()

?

7)流程控制

def LENGTH = 10

println "start"

for(count in 1..LENGTH)

?println "count:${count}"

println "done"

?

8)闭包

//基本闭包的使用,def 变量名 = {参数名->执行部分}

def doubles = {

item->

println item*2

}

?

//最原始的调用

doubles.call(3)

//可以去除call

doubles(3)

//只有一个参数可以括号也去除

doubles 3

?

指定参数名item

def doubles = {

item->

println item*2

}

//默认参数用it代替

def plus = {

println it+2

}

def list = [1,4]

?

list.each doubles

//只有一个参数可以去除括号

list.each(plus)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读