学点Groovy来理解build.gradle代码

您所在的位置:网站首页 buildgradle是什么 学点Groovy来理解build.gradle代码

学点Groovy来理解build.gradle代码

#学点Groovy来理解build.gradle代码| 来源: 网络整理| 查看: 265

在写这篇博客时,搜索参考了很多资料,网上对于 Groovy 介绍的博客已经特别多了,所以也就没准备再详细的去介绍 Groovy,本来也就计划写一些自己认为较重要的点。后来发现了 Groovy 的官方文档后,发现其实官方的介绍特别的全面,详细。但可惜的是我的英语不好,看英文文档有些费时间,但还是推荐有能力的人去参照官方文档来学习,后期如果有时间的话,我也计划试着翻译一些官方的文档来学习,记录一下。

所以,这篇的侧重点不是在介绍 groovy 的基本语法,而是介绍跟 build.gradle 比较相关的一些知识点吧,另外在末尾会附上一些 groovy 学习链接,有兴趣的可以继续去学习。

系列索引

build.gradle系列一:看不懂的build.gradle代码 build.gradle系列二:学点Groovy来理解build.gradle代码 build.gradle系列三:如何用Adnroid Studio查看build.gradle源码 ...

开始学习 Groovy 前,引用徐宜生的《Android群英传:神兵利器》书中的一句话来介绍 Groovy:

Groovy 对于 Gradle,就好比 Java 对于 Android。了解一些基本的 Groovy 知识,对于掌握 Gradle 是非常有必要的。

Groovy 是什么

Groovy 是一种脚本语言,既然是脚本语言,那么它也就有脚本语言的那些特点:使用动态类型、末尾不用分号等等。另外,它又是基于 Java 上设计的语言,也就是 Groovy 兼容 Java,可以使用 JDK 里的各种方法,你可以在 Groovy 文件里写 Java 代码里,照样可以正常编译运行。

Groovy 语法

关于语法的详细的介绍在末尾有链接,这里就只是挑出我认为比较重要的,而且跟 java 有区别的,在阅读代码时可能会看不懂的一些语法进行记录。

1.注释、标识符方面跟 Java 基本一样。 2.基本数据类型,运算方面

这方面在 build.gradle 文件里也不怎么常见到使用,因为 groovy 是动态类型,定义任何类型都可以只使用 def 来定义,所以如果使用具体的比如 char, int 等类型时需要强制转换吧。有需要的可以自己查阅末尾的参考链接。

3.字符串方面

java 只支持用 "..." 双引号来表示字符串

groovy 支持使用 '...', "...", '''...''', """...""", /.../, $/.../$ 即单引号,双引号等6种方法来表示字符串 至于各种表示方法有什么区别,具体可以参考末尾的链接,这里简单提提,'...', "..." 只支持单行字符串,不支持多行,剩下的四种都支持多行字符串,如下图 Groovy字符串代码示例 控制台输出结果

斜杠我也很少见,常见的是带有 ${} 的字符串,比如: println "blog's url: ${blogUrl}" 这是 groovy 的 GString 特性,支持字符串插值,有点了类似于变量引用的概念,但注意,在 '...', '''...''' 单引号表示的字符串里不支持 ${}。当然,如果你要使用 java 的方式,用 + 来拼接也可以。

4.集合方面(List、Map)

定义和初始化 定义很简单,List 的话使用 [] 定义,各项用 , 隔开即可。Map 的话使用 [:],各项也是用 , 隔开,如:

def numList = [1, 2, 3] //List def map [1:"dasu", dasu:24] //Map, : 前是key,如1, : 后是value, 如dasu

有一点跟 java 不同的是, groovy 集合里不要求每一项都是同类型,比如可以这样定义 def list = [1, 'dasu', true],集合里包含数字,字符串,布尔值三种类型。

使用 通过下标操作符 [] 读写元素值,并使用正索引值访问列表元素或负索引值从列表尾部访问元素,也可以使用范围,或使用左移



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3