我是靠谱客的博主 无情电源,最近开发中收集的这篇文章主要介绍看懂Gradle脚本(1)- Groovy语言的Map语法糖,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

这一系列文章是写给刚开始使用Gradle,并且对Groovy语法不是特别了解的Java程序员看的。

本篇文章的目标是解释清楚下面这行Gradle脚本:

apply plugin: 'java'

行尾的分号是可选的

用过JavaScript语言的人对这个语法糖应该比较熟悉,下面是补上分号后的脚本:

apply plugin: 'java';

字符串字面量(Literal)

Java只能用 双引号定义字符串字面量,Groovy语法和JavaScript类似,既可以用双引号,也可以用单引号。区别是,用双引号定义的字符串可以 插值,如下所示:

def pi = 3.14
def 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'


最后

以上就是无情电源为你收集整理的看懂Gradle脚本(1)- Groovy语言的Map语法糖的全部内容,希望文章能够帮你解决看懂Gradle脚本(1)- Groovy语言的Map语法糖所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(38)

评论列表共有 0 条评论

立即
投稿
返回
顶部