groovy

在线资料
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)














评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值