如果我们静态编译Groovy,Kotlin和Groovy看起来非常相似,并且具有非常相似的功能.哪些功能,除了null安全性,Kotlin在Groovy中缺少哪些功能?
Bru*_*owe 25
Kotlin是一种JVM语言,IMO正试图在功能和简洁性方面改进Java,同时保持势在必行和静态.Groovy有一个类似的概念,除了决定动态.因此,许多语言功能将类似.
以下是我所知道的一些差异
虽然有许多其他功能.我建议你查看参考文献,你可能会发现更多内容,例如https://kotlinlang.org/docs/reference/
正如您所看到的,它确实借用了除Groovy之外的其他语言.他们试图挑选一些很棒的功能,试图创造一种好的语言.自然Groovy有自己的优点.我只关注Kotlin所拥有的,反之亦然
另一个好处是,由IDE制造商制作,编译器非常快速并且具有出色的IDE支持.不是说Groovy没有很好的支持,但我当前的项目确实需要很长时间才能编译,而重构方法总是假设你是以动态的方式编码.
我建议你试试Koans,让他们感受一下你喜欢哪种语言的特性,以及它与groovy的比较(https://github.com/Kotlin/kotlin-koans).
Kotlin设计为静态类型语言,具有良好的类型系统和静态类型语言的其他好处.Groovy - 首先是一种动态类型语言,只有这样 - 静态.
当您在groovy中启用编译静态时,您只能获得带语法糖的java.另一方面--Kotlin在其类型系统中有两种类型的引用:可空和不可空,因此您可以编写具有较少NPE的代码.如果你只询问一个功能 - 就是这样.
Kotlin的第二个重要特征 - 它不会进行任何隐式转换,另一方面 - groovy隐式地将double转换为bigdecimal等等.
但是kotlin还有很多其他功能,比如智能模型,ADT(doc),类型安全构建器,零成本抽象以及最终的IDE支持.
另外我不确定Groovy的类型推理的质量(例如在闭包中我们需要额外的注释,meh),但在Kotlin类型推理工作就像一个魅力,没有任何语言的和平注释.
所以Kotlin中的静态类型编译 - 一流的公民,在Groovy中 - 不是.
| 归档时间: |
|
| 查看次数: |
7427 次 |
| 最近记录: |