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来接收

上一篇下一篇

猜你喜欢

热点阅读