Groovy:集合字符串与循环
2020-03-18 本文已影响0人
lv_mock
字符串与循环
字符串
单引号默认是String类型的
def a = 'A'
println a.class //class java.lang.String
def b = 'B' as char
println b.class //class java.lang.Character
单引号和双引号的区别
def a1 = 'hello'
println "groo${a1}vy" //groohellovy
println "groovy$a1" //groovyhello 放在最后可以省去括号
println 'groo${a1}vy' //groo${a1}vy 不能用单引号
闭包惰性求值
def a = 'a'
def b = "${a}b"
def c = "${->a}b"
a = 'b'
println b //ab
println c //bb 闭包,括号里的代码块执行到的时候才会去取值
多行字符串
def i = "<xml>\n...\n</xml"
def j = """<xml>
...
</xml>"""
println i
println j // 单双引号都可以,自动换行
String注入的一些方法
if("") { //就是调用 "".asBoolean()
println "A"
} else {
println "B"
}
println "cmd /c groovy -v".execute().text
println "groovy"[0]
println "groovy" - 'gro'
输出:
B
Groovy Version: 3.0.1 JVM: 1.8.0_191 Vendor: Oracle Corporation OS: Windows 10
g
ovy
循环
for (i in new IntRange(0,5))
print i + ' ' //0 1 2 3 4 5
for (i in 0..5)
print i + ' ' //0 1 2 3 4 5
for (i in 0..<5)
print i + ' ' //0 1 2 3 4
def i = 0..5
println i.class //class groovy.lang.IntRange
groovy注入的一些方法
5.times {
print it + " " //0 1 2 3 4
}
5.upto(10) {
print it + " " //5 6 7 8 9 10
}
5.downto(2) {
print it + " "//5 4 3 2
}
5.step(17,3) {
print it + " " //5 8 11 14
}
5.step(-4,-3) {
print it + " " //5 2 -1
}
闭包只有一个参数可以用it来接收