2017年5月18日,安卓团队在谷歌 I/O 2017 大会上宣布 Kotlin 成为官方头等支持语言。这条爆炸性资讯在当天就是 Hacker News 首页热门讨论,与此同时,谷歌技术大牛 Steve Yegge 也写了一篇关于 Kotlin 的使用体会总结文章,同样也在首页热门,并引发 200+ 讨论。那么究竟Kotlin语言有什么过人之处?接下来,小编就为大家简单介绍一下这个新颖简洁的现代语言!
Kotlin语言
Kotlin是JVM和Android的实用编程语言,结合了OO和功能特性,专注于互操作性,安全性,清晰度和工具支持。
作为通用语言,Kotlin可以在Java工作的地方工作:服务器端应用程序,移动应用程序(Android),桌面应用程序。它适用于所有主要的工具和服务,如
IntelliJ IDEA,Android Studio和Eclipse
Maven,Gradle和Ant
Spring Boot (Kotlin支持今天发布!)
GitHub,Slack甚至Minecraft
Kotlin的关键重点之一是混合Java + Kotlin项目的互操作性和无缝支持,使采用更容易,从而减少了样板代码和更多的类型安全性。此外,Kotlin有一个广泛的标准库,使日常任务轻松流畅,同时保持字节码足迹低。当然,也可以在Kotlin中使用任何Java库。反之亦然。
Kotlin语言优点
语法简单不啰嗦,用更少的代码获得更多的功能
① Kotlin 支持类型推断,没有 Java 那样的啰嗦。
② 用 var 表示变量,val 表示常量更加的简洁
③ 方法也很简单,连 function 都缩写成了 fun
④ 类的继承和实现很简单,使用:即可
⑤ Kotlin 每个句子都不需要加分号 (;)
避免空指针异常
在许多编程语言中最大的痛苦 - 空指针异常。 但是使用Kotlin,这个问题得到了很好的解决
① 在类型上的处理,即在类型后面加上?,即表示这个变量或参数以及返回值可以为 null,否则不允许为变量参数赋值为 null 或者返回 null
② 对于一个可能是 null 的变量或者参数,在调用对象方法或者属性之前,需要加上?,否则编译无法通过。
更贴近实际
Kotlin 支持在一个文件里定义多个类,支持一等方法,操作符重载,扩展方法,类型别名,字符串模板,还有一堆看上去没什么新意的语言特性它都支持。
支持 DSL
DSL 不到深思熟虑万不得已的话千万不要引入,但是不得不承认 DSL 威力巨大。例如你看 Gradle 的 DSL 和 Maven 比,在典型的 Maven 项目里,配置代码肯定要超过上千行。所以 Kotlin 是来给你降工作压力的。
Kotlin的特性有很多,总的来说, Kotlin这门语言简化了Java , 完全是从一个是实用派的角度,而不是学院派的角度;相比于JRuby , Jython这些一移植到JVM上的语言, Kotlin 和Java 和互操作感觉更加自然。