Groovy学习笔记-使用多赋值】的更多相关文章

1.方法返回多个结果:返回数组,将多个变量逗号隔开,放在左侧圆括号中 def splitName (fullName) { fullName.split(' ') } def (firstName, lastName) = splitName('Tom Smith') println "$lastName, $firstName" /* output Smith Tom */ 2.交换变量:将欲交换的变量放在左侧圆括号内,右侧中括号相反顺序放置 def name1 = 'aaa' de…
昨天学习了es6语法中解构赋值,解构赋值在声明中和函数传参提高了灵活性和便捷性,值得掌握该语法. 概念: ES6 允许按照一定模式,从数组和对象中提取值,对变量进行赋值,这被称为解构.   数组的解构:   let [a,b,c] = [1,2,3]; console.log(a); console.log(b); console.log(typeof c); // number console.log(a === 1); // true ps:解构不成功,变量的值就等于undefined le…
在上一篇文章中我们主要学习了如何搭建Groovy开发环境,为我们的Groovy之旅做好了准备工作,不知道你是否准备好了?接下来我们就一起看看Groovy与我们熟悉的Java有什么异同. Groovy是轻量级的Java,它与Java的区别主要有六点,接下来我们一一讲解. 一:return语句和分号都是可选的. //Groovy Code def int add(a, b) { a + b } println add(1, 2) 控制台输出: 3 二:方法和类默认是public的. 三:?.操作符只…
解构赋值基本概论就按照一定的模式通过数组或者对象对一组变量进行赋值的过程. 1.通过数组对变量进行赋值: /*通过这种方式赋值要注意左右两边的结构模式要一样,在赋值的时候,根据位置进行赋值对应模式.*/ //普通赋值方式 var a = 1; var b = 2; var c = 3; //解构赋值方式 var [a,b,c] = [1,2,3]; // 针对其他比较特殊的模式赋值方式,如果变量解构不成功就赋值undefined var [a,[[b],c]] = [1,[[2],3]] //…
1.1 安装Groovy Groovy主页:http://www.groovy-lang.org 确保本地系统安装了Java 1.1.1 在Windows系统上安装Groovy 1.创建环境变量GROOVY_HOME,其值为Groovy的目录(如:C:\programs\groovy\groovy-2.1.0). 2.将%GROOVY_HOME%\bin添加到path中. 3.确认下环境变量JAVA_HOME的值是否指向JDK的位置. 4.在命令行窗口输入groovy -v,确保报告的是正确的版…
  本篇分享讲展示如何在Groovy中读取CSV文件.   我们要读取的CSV文件foo.csv的内容如下:   Groovy代码如下: //import packages import java.io.File // use @Grab() to download CSV package @Grab('org.apache.commons:commons-csv:1.2') import static org.apache.commons.csv.CSVFormat.RFC4180 // ge…
解构赋值:按照一定模式,从数组和对象中提取值,对变量进行赋值.   数组解构 对象解构 字符串解构 应用场景     曾经的赋值噩梦,非解构赋值数组: let arr = [1, 2, 3]; let a = arr[0]; let b = arr[1]; let c = arr[2]; console.log(a, b, c); 上面代码赋值十分冗长. 解构赋值数组: let [d, e, f] = arr; console.log(d, e, f); 使用解构赋值之后代码来那个骤减. 复杂的…
1.respondsTo方法判断对象是否存在指定方法 interface IHelp{ void helpMoveThings() } class Man implements IHelp{ void helpMoveThings(){ println 'Man help move things' } } class WoMan implements IHelp{ void helpMoveThings(){ println 'WoMan help move things' } } class…
1.def和in是关键字 2.==映射到了equals() 中,如果有Comparable接口实现,则优先compareTo str1 = 'hello' str2 = str1 str3 = new String('hello') str1 == str2 // true str1.is(str2) // true str1 == str3 // true str1.is(str3) // false 3.传递闭包 class Calibrator{ Calibrator(calcBlock)…
1.枚举enum enum CoffeeSize{ SHORT, SMALL, MEDIUM, LARGE, MUG } def orderCoffee(size){ print "Coffee order received for size $size:" switch(size){ case [CoffeeSize.SHORT, CoffeeSize.SMALL]: println 'Conscious' break; case CoffeeSize.MEDIUM..CoffeeS…