Gradle系列5-Groovy语言基本语法

本小结内容主要以代码实现为主

基本语法定义

package top.zhexi.groovy

println "===========基本语法定义=========="
//变量的声明
def name = "test"
age = 20

//调用带参数的方法时可以省略括号
println(name + " " + age)
println name + " " + age

//断言assert
assert age == 19

运行输出结果:

===========基本语法定义==========
test 20
test 20
Caught: Assertion failed: 

assert age == 19
       |   |
       20  false

Assertion failed: 

assert age == 19
       |   |
       20  false

	at top.zhexi.groovy.Grammer.run(Grammer.groovy:13)

Process finished with exit code 1

字符串的定义

println "=========字符串的定义==========="
str1= 'test'  //定义普通的字符串
str2 = "test2 : ${str1}" //可以引用变量
str3 = '''三个单引号 name : test
ange : 30'''      //按格式定义的字符串

println str1
println str2
println str3

执行输出结果:

=========字符串的定义===========
test
test2 : test
三个单引号name : test
ange : 30

集合的定义

println "=========集合的定义==========="
//list集合,使用[]来声明集合
def list = ["t1", "t2", "t3"]
//给list集合添加元素
list.add("add元素")
list << "新元素"
println list
println list.getClass() //查看定义的集合类型

//Map 映射,使用[key:value]方式定义
def map = ['name': '小明', 'age': 18]
// 给map赋值
map.put('email', 'xiaomi@test')
//使用点key的方式来赋值
map.gender = "boy"
println map
println map.getClass()

输出结果:

=========集合的定义===========
[t1, t2, t3, add元素, 新元素]
class java.util.ArrayList
[name:小明, age:18, email:xiaomi@test, gender:boy]
class java.util.LinkedHashMap

闭包

println "===========闭包============"
def c1 = {
    println '不带参数的闭包'
}

def c2 = {
    val ->
        println "带参数的闭包: ${val}"
}

//定义方法形参是指定类型,接收不带参数的闭包方法
def method1(Closure clo) {
    //两种方式都可以
    clo()
    clo.call()
}
//定义方法形参无指定类型,接受带参数的闭包的方法
def method2(closure) {
    closure("小明")
    closure.call("call小明")
}
//调用方法,传入已经定义好的闭包
method1 c1
method2 c2
// 调用方法时,直接定义新的闭包
method1 ({
    println "无参数新闭包,带括号"
})

method1 {
    println "无参数新闭包,不带括号"
}

method2 {
    val->
        println "带参数新闭包, ${val}"
}

输出结果:

===========闭包============
不带参数的闭包
不带参数的闭包
带参数的闭包: 小明
带参数的闭包: call小明
无参数新闭包,带括号
无参数新闭包,带括号
无参数新闭包,不带括号
无参数新闭包,不带括号
带参数新闭包, 小明
带参数新闭包, call小明

空值比较不抛出空指针异常


println "=======空值比较不抛出空指针异常======="
def testval = null
println  testval.equals(null)

输出结果:

=======空值比较不抛出空指针异常=======
true
发布了159 篇原创文章 · 获赞 22 · 访问量 9万+

猜你喜欢

转载自blog.csdn.net/ytuglt/article/details/104971235