🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
# 与 Scala 比较【官方已删除】 [TOC] Kotlin 团队的主要目标是创建一种务实且高效的编程语言,而不是提高编程语言研究中的最新技术水平。 考虑到这一点,如果你对 Scala 感到满意,那你很可能不需要 Kotlin。 ## Scala 有而 Kotlin没有的东西 * 隐式转换、参数……等等 * 在 Scala 中,由于画面中有太多的隐式转换,有时不使用 debugger 会很难弄清代码中具体发生了什么 * 在 Kotlin 中使用[扩展函数](http://www.kotlincn.net/docs/reference/extensions.html)来给类型扩充功能/函数(双关:functions)。 * 可覆盖的类型成员 * 路径依赖性类型 * 宏 * 存在类型 * [类型投影](http://www.kotlincn.net/docs/reference/generics.html#%E7%B1%BB%E5%9E%8B%E6%8A%95%E5%BD%B1)是一种非常特殊的情况 * 特性(trait)初始化的复杂逻辑 * 参见[类与接口](http://www.kotlincn.net/docs/reference/classes.html) * 自定义符号操作 * 参见[操作符重载](http://www.kotlincn.net/docs/reference/operator-overloading.html) * 结构类型 * 值类型 * 我们计划支持[Project Valhalla](http://openjdk.java.net/projects/valhalla/)当它作为 JDK 一部分发布时。 * yield 操作符与 actor * 参见[协程](http://www.kotlincn.net/docs/reference/coroutines.html) * 并行集合 * Kotlin 支持 Java 8 streams,它提供了类似的功能 ## Kotlin 有而 Scala 没有的东西 * [零开销空安全](http://www.kotlincn.net/docs/reference/null-safety.html) * Scala 有 Option,它是一个语法糖以及运行时的包装器 * [智能转换](http://www.kotlincn.net/docs/reference/typecasts.html) * [Kotlin的内联函数便于非局部跳转](http://www.kotlincn.net/docs/reference/inline-functions.html#%E5%86%85%E8%81%94%E5%87%BD%E6%95%B0) * [一等公民的委托](http://www.kotlincn.net/docs/reference/delegation.html)。也通过第三方插件 Autoproxy 实现