groovy中有哪些简写?

来源:7-8 依赖相关api讲解及实战

qq_夜_71

2019-12-22

buildscript { ScriptHandler scriptHandler ->
    scriptHandler.repositories { RepositoryHandler repositoryHandler ->
        repositoryHandler.jcenter()
        repositoryHandler.mavenCentral()
        
        // 写法1
        repositoryHandler.maven { MavenArtifactRepository mavenArtifactRepository ->
            mavenArtifactRepository.setUrl("xxxxUrl")
            mavenArtifactRepository.setName("name")
            mavenArtifactRepository.credentials { PasswordCredentials passwordCredentials ->
                passwordCredentials.setPassword("password")
                passwordCredentials.setUsername("userName")

            }
        }
		// 写法2
        repositoryHandler.maven {
            url 'xxxxUrl'
            name "name"
            credentials {
                password "password"
                userName "userName"
            }
        }

    }
    scriptHandler.dependencies {

    }
}

写法1和写法2为什么是等价的?

写回答

1回答

qndroid

2020-03-06

这个问题太大啦,groovy中的简写是非常多的,老师不能一一列举,就你举的例子来说,set方法 == 直接调用属性赋值。getXXX方法 == 直接属性值。闭包的参数类型也都是可以不写的。

0
1
qq_夜_71
简写时,为什么可以不需要对象来调用方法,例如 mavenArtifactRepository.setUrl("xxxxUrl"),而是 url 'xxxxUrl'。 老师能针对这种情况,给一个简单的demo 吗?
2023-07-09
共1条回复

Gradle3.0自动化项目构建技术精讲+企业级案例实操

全面覆盖Gradle核心知识和高级用法,高级工程师必备技能!

877 学习 · 144 问题

查看课程