概述
需要准备
一个熟悉的 IDE 开发工具 JDK 7及以上 Gradle 3.2以上 groovy 基本语法
1.变量申明
访问修饰符
def: 相当于局部变量 ext: 相当于全局变量
申明变量
// groovy是一种规则非常松的语言,所有语句后面不用写分号,
// 而且类型不用写也是可以的
def int x = 1
def x = 1
2.字符串
Groovy 提供了多种表示 String 字面量的方法,在 Groovy 中字符串可以用单引号('),双引号(“)或三引号(”“”)括起来。由双引号括起来的字符串可以对$符号进行转义,由三重引号括起来的字符串可以跨越多行。
def xx = 'i have $x ¥'
def y = 11
def yy = "i have $x ¥" //这里对$x转义
def zz = """
hi~
i have something to do
thank you
"""
3.范围
范围是指定值序列的速记。范围由序列中的第一个和最后一个值表示,范围也可以是包含或排除,包含范围包括从第一个到最后一个的所有值,而独占范围包括除最后一个之外的所有值。这里有一些范例文字的例子。
- 1..10 - 包含范围的示例
- 1 .. <10 - 独占范围的示例
- 'a'..'x' - 范围也可以由字符组成
- 10..1 - 范围也可以按降序排列
- 'x'..'a' - 范围也可以由字符组成并按降序排列。
def test(){
for(i in 1..5){
println I
}
}
4.集合和映射
集合,相当于 Java 中的 List 对象。
//创建一个空的列表
def list = []
// 增加一个元素
list.add("Gradle")
// 左移添加,返回该列表
list << "Groovy"
// 增加多个元素
list.addAll(["Gradle","Groovy"])
// 删除一个元素
list.remove("Groovy")
映射,相当于 Java 中的 Map 对象。
//创建空的映射
def map = [:]
//增加值
map = ['name':'Bill','age':18]
map.put('lastName','Yang')
//遍历映射元素
map.each { println "$it.key: $it.value" }
map.eachWithIndex { it, i -> println "$i: $it"}
//判断映射是否包含某键
assert map.containsKey('name')
5.函数和闭包
函数,也可以写成和 Java 中一样的方法,不过 groovy 可以写的更简单些。
//形参数类型可以不写
String doSomething(arg1, arg2){
println "I will do something!!"
}
//不指定返回类弄,必须加def,最后一句不用写return,默认返回的是最后一句
def doSomething(){
println "I will do something too!!"
}
闭包,它英文是 closure,闭包是一种数据结构,属于一段代码,有两种常见的格式。
//格式1: def xx = {param -> code}
def closure = {//闭包是一段代码,所以用大括号
String param, int param1 ->
return println 'do something!!'
}
//如果闭包没有参数,默认会有一个类似于this的it参数
//格式2: 没有参数 def xxx = {无参数,纯code} 这种情况不需要->符号
def colsure = {"hello, $it"}
等同于
def colsure = {it -> "hello, $it"}
闭包调用
colsure("param1", "param2")
//如果函数的最后一个参数是闭包,这个函数的小括号可以不写
//常见到的写法如下
task hello{ //这个理解成一个闭包,里面再嵌套了一个闭包
doLast{
println "hello"
}
}
6.类和对象
Groovy 和其他任何面向对象语言一样,也存在类和对象的概念。在 Groovy 中,类是数据的集合和对该数据进行操作的一系列方法。类的数据和方法用于表示问题域中的一些现实世界对象,它和 java 中类的定义是一样的,换言之,Groovy 类就是 Java 类。
小结
本章中我们学习了 Groovy 的基本语法,变量申明、字符串、Groovy 中的范围、集合和映射、函数和闭包、以及面向对象的类和对象。其实 Groovy 的语法大多是对 Java 的语法糖,会 java 的同学很容易就能上手 Groovy 的。
如果你有疑问欢迎加微信咨询:
https://u.wechat.com/MDHWBbNbJRv36gtFwfExkEo (二维码自动识别)
也可以关注我的公众号想我提问:
http://weixin.qq.com/r/EEzl-dLE5Y_arZae9xkC (二维码自动识别)
最后
以上就是包容冥王星为你收集整理的Gradle第3课:Groovy 语法简单介绍的全部内容,希望文章能够帮你解决Gradle第3课:Groovy 语法简单介绍所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复