Gradle基础到进阶——基本语法、方法和闭包(一)

2021-08-04  本文已影响0人  Peakmain

Gradle和Groovy介绍

Gradle

Groovy

Groovy、Java和kotlin三者区别

项目构建

image.png

基本语法

Hello Groovy

class Test{
    static void main(String[] args) {
        println("Hello Groovy")
    }
}

语法

class Test{
    static void main(String[] args) {
        println(A())
    }
    static def A(){
        "Hello Groovy"
    }
}
class Test{
    static void main(String[] args) {
        println(test("niamkaep"))
        println(test(null))
    }
    static def test(str){
        str?.reverse()
    }
}
class Test{
    static void main(String[] args) {
        ( 'z'..'a' ).forEach({
            print(it+"\t")
        })
    }
}
class Test{
    static void main(String[] args) {
       def map=[a:1,b:444]
        map.forEach{k,v->
            println("key=${k.class}")
        }
    }
}

方法

getter/setter

class Person{
    private def name="peakmain"

    private def getName() {
        println("getName")
        return name
    }

}
class Test{

    static void main(String[] args) {
        def person = new Person()
        println(person.@name)
    }
}

private

class Person{
    private def name="peakmain"
    private def getName() {
        throw new IllegalAccessException("can not get")
        return name
    }
}
class Test{
    static void main(String[] args) {
        def person = new Person()
        println(person.name)
    }
}

构造方法

class Person{
    def name
    def age

}
class Test{

    static void main(String[] args) {
        def person = new Person(name: "123", age: 123)
        println(person.name)
    }
}

闭包

class Test {
    static def Person = {
        println(it)

    }
    static void main(String[] args) {
        Person(111)
    }
}

闭包与接口/类进行转换

    interface Action {
        void call()
    }

    static void func(closure) {
           closure()
    }
    static void main(String[] args) {
        func(new Action(){
            @Override
            void call() {
                println("测试")
            }
        })
    }

闭包重要的参数

代理策略

class Test {
    def func() {
        println("func")
    }
    static def clouse = {
        func()
    }
    static void main(String[] args) {
        clouse.delegate = new Test()
        clouse()
    }
}
上一篇下一篇

猜你喜欢

热点阅读