手头项目里有个在 JVM 上封装 DSL 的需求,在 Java 实现的数据流水线上插入 DSL 书写的业务逻辑。目前用的是 Jython,虽然可用,但是启动延迟、执行性能、内存占用都不是很理想,同时 Jython 项目本身目前的活跃程度堪忧。所以打算学习一下 Kotlin 看看是不是可以作为一个替代品。目前的计划是:
- 快速过一遍 Kotlin reference
- 阅读 Kotlin in Action 这本书的第 6 章类型系统和第 11 章 DSL 构建。
完成上述两个步骤之后,应该能够对 Kotlin 语言是个什么状态以及是否能够满足手头项目的需求有个比较准确的判断,然后再决定是否要继续深入。
开始吧。
Basic Syntax - Kotlin Programming Languagekotlinlang.org
![065418cb9dd60860d5b672b168249ad3.png](https://img-blog.csdnimg.cn/img_convert/065418cb9dd60860d5b672b168249ad3.png)
基本语法的全景式介绍。看下来几个引起我注意的点:
- Kotlin 明显是门「时髦」的语言,几个新近流行起来的语法特性都有采纳:
- val a : Int 这样的类型后置声明。
- val a = 10 这样的隐式类型推导。
- Int 和 Int? 这样区分一个值是否可以为 null。
- var 和 val 这样区分一个值是否可以多次赋值。
- 无返回类型的函数,void 改成 Unit 了,不是很懂为啥要改以及为啥是 Unit。</