看懂Gradle脚本(1)- Groovy语言的Map语法糖
来源:互联网 发布:linux mmap 编辑:程序博客网 时间:2024/05/21 12:43
这一系列文章是写给刚开始使用Gradle,并且对Groovy语法不是特别了解的Java程序员看的。
本篇文章的目标是解释清楚下面这行Gradle脚本:
apply plugin: 'java'
行尾的分号是可选的
用过JavaScript语言的人对这个语法糖应该比较熟悉,下面是补上分号后的脚本:
apply plugin: 'java';
字符串字面量(Literal)
Java只能用双引号定义字符串字面量,Groovy语法和JavaScript类似,既可以用双引号,也可以用单引号。区别是,用双引号定义的字符串可以插值,如下所示:def pi = 3.14def str = "pi is ${pi}"
Map字面量
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']
方法调用的括号可以省略
我最早是在Ruby语言里见到这种语法糖的,apply实际上是个方法,下面是补上括号后的脚本:
apply(plugin: 'java');
如果传入方法的参数是Map,那么Map字面量可以省略方括号
补上方括号以后,脚本看起来是这样:
apply([plugin: 'java']);
结论
apply其实是个方法,接收一个Map类型的参数。
举一反三
有了上面的分析,看懂下面这段Gradle脚本应该是小菜一碟了:
testCompile group: 'junit', name: 'junit', version: '4.10'
1 0
- 看懂Gradle脚本(1)- Groovy语言的Map语法糖
- 看懂Gradle脚本(2)- Groovy语言的闭包语法
- 看懂Gradle脚本(4)- Groovy语法之运算符重载
- 看懂Gradle脚本(3)- Groovy AST转换
- 看懂Gradle脚本(6)- Hello Groovy, Goodbye Getters&Setters
- gradle 知识(2) -- groovy语法
- 看懂Gradle脚本
- Groovy语言中<<与普通创建的不同 (Gradle)
- gradle-groovy脚本
- groovy脚本使用map
- 【1】Groovy语言学习:groovy语言简介及基本语法
- 【1】Groovy语言学习:groovy语言简介及基本语法
- Gradle构建工具之Groovy的基本语法
- Gradle系列第(一)篇---Groovy语法初探
- Gradle系列第(一)篇---Groovy语法初探
- Gradle详解(一)——Groovy语法快速入门
- Groovy语言语法基础
- nGrinder 的 Groovy 脚本使用指南(Groovy 脚本结构)
- sublime编辑器如何快速输入PHP头部版本声明
- 模型的操作
- 在VFP报表中实现每页打印指定记录数
- 使用TinyXml库值得注意的几个地方
- ECMA函数参数arguments的使用
- 看懂Gradle脚本(1)- Groovy语言的Map语法糖
- struct和typedef struct
- The connection to adb is down, and a severe error has occured解决方法
- 别让PPT把你绑架了
- 巴西世界杯,程序员专业版
- 排序算法
- JAVA中this用法总结
- 发的恢复更快更好看很过分
- 图解 Android 广播机制