在线资料
http://groovy-lang.org/syntax.html
task groovy <<{}
println "hello groovy"
class JavaGetter{
String greeting ="Default greeting"
def printGreeting(){println "Greeting :$greeting"}
public static void sayHello(){
System.out.println("Hellow Java!");
}
}
def greetingClosue ={
greeting = "Setting the greeting from a closuer"
printGreeting()
}
JavaGetter greeter = new JavaGetter()
greeter.sayHello();
greeter.greeting ="My custom greeting"
greeter.printGreeting()
greetingClosue.delegate = greeter
greetingClosue()
def foo =6.5
println "foo has value:$foo"
println "Let's do some math, 5+ 6=${5+6}"
println "foo is of type:${foo.class} and has value:$foo"
foo ="a string"
println "foo is now type ${foo.class} and has value:$foo:"
def doubleIt(n){
n+n
}
foo =5
println "doubleIt($foo) = ${doubleIt(foo)}"
foo = "foobar"
println "doubleIt($foo)= ${doubleIt(foo)}"
def oneArg(x){
println "Called the 1 Arg function with $x"
x
}
def oneArg(x,y){
println "Called the 2 Arg function with $x and $y"
x+y
}
oneArg 200,300
oneArg oneArg(200),99
/**
Groovy 闭包和对象
*/
foo ="One million dollars "
def myClosure = {
println "hellow from a cosure"
println "The value of foo is $foo"
}
myClosure()
def doubleIt2={x -> x+x}
def applyTwice(func,arg){
func(func(arg));
}
foo =5
def fooDoubledTwice =applyTwice(doubleIt2,foo)
println "Applying doubleIt twice to $foo equals $fooDoubledTwice"
/**
列表
*/
def mylistItem =["wang","zhang","li"]
def printlnItem = {item -> println "List item $item"}
mylistItem.each(printlnItem)