首页 > 代码库 > 看懂Gradle脚本(1)- Groovy语言的Map语法糖
看懂Gradle脚本(1)- Groovy语言的Map语法糖
这一系列文章是写给刚开始使用Gradle,并且对Groovy语法不是特别了解的Java程序员看的。
本篇文章的目标是解释清楚下面这行Gradle脚本:
apply plugin: 'java'
行尾的分号是可选的
用过JavaScript语言的人对这个语法糖应该比较熟悉,下面是补上分号后的脚本:
apply plugin: 'java';
Map字面量(Literal)
Java语言只有基本类型、String和数组是有字面量的,如下所示:
boolean b = false; int i = 100; double d = 4.14; String s = "java"; int[] arr = {1, 2, 3};Groovy语言给Map添加了字面量,如下所示:
def langs = ['C++':'Stroustrup', 'Java':'Gosling', 'Lisp':'McCarthy']
语法像是Java里的数组字面量,key和value用冒号分隔,pair之间用逗号分隔。另外,用这种语法创建出来的是java.util.LinkedHashMap实例。如果key是普通的字符串,还可以进一步省略掉引号,如下所示:
def langs = ['C++':'Stroustrup', Java:'Gosling', Lisp:'McCarthy']
方法调用的括号可以省略
apply实际上是个方法,下面是补上括号后的脚本:
apply(plugin: 'java');
如果传入方法的参数是Map,那么Map字面量可以省略方括号
补上方括号以后,脚本看起来是这样:
apply([plugin: 'java']);
结论
apply其实是个方法,接收一个Map类型的参数。
举一反三
有了上面的分析,看懂下面这段Gradle脚本应该是小菜一碟了:
testCompile group: 'junit', name: 'junit', version: '4.10'
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。