GroovyGrails
在公司内部分享中准备了Groovy&Grails的一些内容,在这里列出PPT中的核心内容,以便有兴趣的朋友对Groovy和Grails有初步的印象,后面会就这一主题有更深入的分享。
RoR(Ruby on Rails)的革命与Web开发的新时代
开发效率是J2EE的5倍以上。
Java的困惑:繁琐的配置、耗时的环境、可移植性差、资源占用大。
动态语言:动态类型、动态结构(元编程)。
RoR的设计思想是简化开发过程,各层的设计只有一个目标,就是简单。
与PHP比,它的组织结构更加清晰。
约定优于配置。
*动态类型:运行时确定变量的类型信息。
*动态结构:利用“元编程”技术,在程序运行时对类的属性和方法进动态增减。
*元编程:编写或者操纵其他程序(或者自身)作为它们的数据,或者在运行时完成部分本应在编译时完成的工作。
RoR并不完美
Ruby语言方面的不足:执行性能差、GC缺陷;与java区别大。
对历史遗留项目的支持较为困难。
Groovy | Java |
println “Hello Groovy!” | System.out.println(“Hello Groovy!”); |
9.times{print 8} |
for(int i=0;i<9;i++){ System.out.print(8); } |
9.downto(5){print 8} |
for(int i=9;i>4;i--){ System.out.print(8); } |
def list=[100,888,783] for(i in list){print i} |
List list = new ArrayList(); list.add(100);….. for(…){…} |
[“Sunday”,”Saturday”,”Wednesaday”].each{day-> println “Today is ${day}” } |
... |
在Groovy可以用def定义无类型的变量(定义变量方面def与JavaScript中的var相似),和返回值为无类型的方法,而在Java中没有def
Groovy:
class Man {
def name = "张三“
def introduce() {
return "I'm $name" // return可以省略
}
}
Groovy中switch语句与Java中相同,不过支持更多类型了,比如String
map在Groovy中 def m = [a: 5, b: 2]
Groovy不仅有? :三元操作符,还有?:两元操作符,但Java只有? :三元操作符 def result = a ?: "default result“
多重赋值
[a, b] = [1, 2]
[a, b] = [b, a] // 交换a和b的值
GroovyGrails相关推荐
最新文章
- js时间戳(代码合集)获取(年月日,秒戳,毫秒戳,) - 综合篇
- 老百姓需要这样的智慧城市
- 这几个公众号隐藏着暴富的秘诀
- 又一次摔MFC坑里了
- MySql库、表权限管理
- 如何通过OCJP认证考试
- 用QT做无界面的后台程序
- android+cordova+windows打包vue一条龙服务
- 听说现在消防控制室都要求中级消防设施操作员了?这个工作前景怎么样?
- qpsk相点 matlab,MATLAB-QPSK在AWGN信道下的仿真
- python ——找出 每行中长度超过3的单词
- 【uniapp】 uni-app使用getPhoneNumber接口
- html如何设置展开全文,Js实现点击查看全文(纯手工代码)
- pycharm新建python项目等问题
- databindingutil.setcontentview type mismatch 从使用角度区分ViewBinding和DataBinding
- 看山还是山,看水还是水
- pjsip 设置麦克风语音输入量 扬声器播放
- 2004年6月30日
- 噪声系数测试之Y因子(二)
- Go语言学习笔记bi站黑马程序员一天刷完