Groovy 学习笔记总结 Part.1
? 没有市场就没有需求, 有需求没市场的事情从公司的角度去考虑;不应该给你实现需求的成本的!就这样我们接到一个让你业余用业余时间去完成的任务; 活动配置数据生成工具。 ? 为了顺利把这个工具做成,你可以拿任何一个你想学的语言去干这事。 纠结啊 。。。, 于是抱着让这是早日完成的心态。 我就选择了用 Groovy 来做这件事请; 理由很简单。 Java Swing 做 GUI 应用程序实在太麻烦; 而 Groovy 中的 SwingBuilder 取弥补了 Swing 中的部分不足。 能够简化界面控件使用与代码, 但内在的事件驱动模型是没有变化的。 于是乎开始动手吧。 1. 开发环境 Mac 10.6.x + IntelliJ IDEA 14 + Groovy 2.3.6 Google 上有很多的配置介绍。 2. GroovyConsole 初试 x?=?1; println?x; x?=?new?java.util.Date(); println?x; x?=?-3.1499392; println?x; x?=?false; println?x; x?=?Boolean.TRUE; println?x; x?=?'Hi' println?x;
command + R 结果如下 1 Sun Dec 28 00:50:45 CST 2014 -3.1499392 false true Hi 总结:x 很像 JavaScript 中万能的 var 申明类型,不过此处连 var 都没有太简单了。 脚本语言啊! 弱类型。 3. Collection 测试 x?=?new?java.util.Date(); tempList?=?[1,?-2,?0.3245788663,?'a',?x]; println?tempList[0]; println?tempList[1]; println?tempList[2]; println?tempList[3]; println?tempList[4]; command + R 结果如下 1 -2 0.3245788663 a Sun Dec 28 00:50:45 CST 2014 总结: 弱类型集合 4. Map 测试 scores?=?[?"Brett":100,?"Pete":"Did?not?finish",?"Andrew":86.87934?] println?scores["Pete"]; > Did not finish 如果将 key 不用双引号 “” ?呢,结果如何呢? println?scores["Pete"]; ? ? Exception thrown ? ? groovy.lang.MissingPropertyException: No such property: Pete for class: ConsoleScript23 ? ? at ConsoleScript23.run(ConsoleScript23:3) 至此我们能不能推断非双引号包围的它就认为是类呢。 有待确认 5. 空的集合与 Map emptyMap?=?[:] emptyList?=?[] println?emptyMap.size() println?emptyList.size() > 0 > 0 6. 条件判断 amPM?=?Calendar.getInstance().get(Calendar.AM_PM) println?(amPM); if?(amPM?==?Calendar.AM) { ????println("Good?morning") }?else?{ ????println("Good?evening") } > 0 > Good morning * else 删除也是可以的。 7. 逻辑与算术运算 titanicBoxOffice?=?1234600000 titanicDirector?=?"James?Cameron" trueLiesBoxOffice?=?219000000 trueLiesDirector?=?"James?Cameron" returnOfTheKingBoxOffice?=?752200000 returnOfTheKingDirector?=?"Peter?Jackson" theTwoTowersBoxOffice?=?581200000 theTwoTowersDirector?=?"PeterJackson" titanicBoxOffice?>?returnOfTheKingBoxOffice??//?evaluates?to?true titanicBoxOffice?>=?returnOfTheKingBoxOffice?//?evaluates?to?true titanicBoxOffice?>=?titanicBoxOffice?????????//?evaluates?to?true titanicBoxOffice?>?titanicBoxOffice??????????//?evaluates?to?false titanicBoxOffice?+?trueLiesBoxOffice?<?returnOfTheKingBoxOffice?+?theTwoTowersBoxOffice??//?evaluates?to?false titanicDirector?>?returnOfTheKingDirector????//?evaluates?to?false,?because?"J"?is?before?"P"titanicDirector?<?returnOfTheKingDirector????//?evaluates?to?truetitanicDirector?>=?"James?Cameron"???????????//?evaluates?to?truetitanicDirector?==?"James?Cameron"???????????//?evaluates?to?true 至此, (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |