在线编译器: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,%s\n",[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)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。