Groovy 要点
Groovy的单行注释、多行注释、文档注释基本和Java一样,但它还支持一种脚本常用注释,需注意
#!/usr/bin/env groovy println "Hello from the shebang line"Groovy会默认导入一些包,因此我们不需导包即可直接使用
java.io.* java.lang.* java.math.BigDecimal java.math.BigInteger java.net.* java.util.* groovy.lang.* groovy.util.*Groovy中的"{...}"块是为闭包而保留的,因此不能使用"{...}"语法创建数组字面量
// 错误!!! int [] array = {1,2,3} // 正确创建数组的方式 int [] array = [1,2,3]Java里的
==等同于Groovy里的is()方法,Groovy中的==则相当于equals(),可用于比较字符串的内容Groovy中所有类型都能转成布尔值,比如
null、void、0相当于false,其他则相当于true// Java代码写法 if (name != null && name.length > 0) {} // Groovy写法 if (name) {}不想关心
try块里抛出何种异常,只想简单的捕获所有异常并省略异常类型try { // ... } catch (any) { // something bad happens }import时起别名import java.awt.List as aList非空操作符
?.,可省略大量if判断,避免空指针异常println order?.customer?.address简化三目运算
// 完整三目运算 def result = name != null ? name : "Unknown" // 简化版 def result = name ?: "Unknown"使用
with()省略调用,类似Dart的级联操作// Java 写法 server.name = application.name server.status = status server.sessionCount = 3 server.start() server.stop() // Groovy 写法 server.with { name = application.name status = status sessionCount = 3 start() stop() }
公众号“编程之路从0到1”