先附上Github链接:https://github.com/akak19193/Leetcode-Kotlin
争取每天刷4道题。
为什么要用Kotlin刷题呢?其实还是为了学习Kotlin。刷题的环境没有那么多业务逻辑,可以更专注于语言的表达能力。
结论:强于Java,逊于Python。
看起来是废话,刷题之前就可以猜想得到。不过真的刷了之后感受才更深刻。
下面主要围绕几个点来谈谈:
- 变量声明
相对于Java,类型推导很舒服,不过还是比不了Python的不需声明类型和单行声明多个变量。
Kotlin的设计就是一行只能声明一个变量,从代码清晰角度来看很合理,刷题的时候就显得有点呆。 - Null机制
在业务代码里,Kotlin的Null机制大大地加分,可是刷题的时候就没那么愉快了,因为这个环境基本不会有意外的数据。在IDE上还好说,要是上了白板,有些情况就需要考虑。就算一般定义的变量都是非null,不过Map里面掏出来的可都是带问号的,何况有时候变量还真得带问号,比如链表节点,比如树节点等等。总而言之,无IDE的情况下这个机制会增加写代码的出错机会,不过如果这个都能考虑到,也说明思维非常缜密。 - 库函数
Kotlin的标准库函数在我看来是不逊于Python的,很多轮子网上也有人造好了,毕竟抱Java大腿。
总而言之,Kotlin能做到略逊于Python已经很不容易了,甩了Java几条街。另外这个语言还很年轻,期望以后能有更好的发展。
网友评论