Kotlin 是一个基于 JVM 的新的编程语言,由 JetBrains 开发。作为目前广受欢迎的 Java IDE IntelliJ 的提供商,在 Apache 许可下已经开源其Kotlin 编程语言。
Kotlin设计目标是
1、创建一种兼容Java的语言
2、让它比Java更安全,能够静态检测常见的陷阱。如:引用空指针
3、让它比Java更简洁,通过支持variable type inference,higher-order functions (closures),extension functions,mixins and first-class delegation等实现。
4、让它比最成熟的竞争对手Scala语言更加简单。
有人总结了如下优点
1、非常简洁的语法
2、与Java代码交互非常容易和简单
3、更好的泛型
4、安全的null运算, 跟Swift的一样
5、更好的Lambda支持
6、方法(函数)为一级公民
7、扩展方法
8、inline
9、有一系列的语法糖: range, data class 等
对于优势,有Kotlin的拥护者更是这样总结:
1、Kotlin编译成JVM字节码或JavaScript——这不仅会吸引Java开发人员,还会吸引所有使用垃圾收集运行时的开发人员,比如使用Scala、Go、Python、Ruby和JavaScript的开发人员。
2、Kotlin来自业界,而非学术界——它解决了程序员现如今在工作中面临的问题。
3、采用成本低——JetBrains提供了高质量的转换工具(可以实现Java到Kotlin代码的一键转换),而且特别注重Java二进制兼容性。开发者可以一次仅转换现有Java项目中的一个文件,整个项目仍然可以正常编译。
4、Kotlin程序可以使用所有现有的Java框架和库,并可以集成Maven、Gradle和其它构建系统。
5、易于学习——Kotlin语法简洁直观,看上去非常像Scala,但更简单。 它不遵循特定的编程哲学,如函数式风格或面向对象风格。
6、不增加运行时开销——Kotlin标准库非常紧凑,主要包含Java标准库的扩展。
7、适合Android开发——借助像Anko和Kovenant这样的框架,Kotlin将在Android开人员中流行。
8、IntelliJ对Kotlin提供了良好的支持。
另外,经常看到各种性能测试,发现Kotlin是在Scala、Groovy等第三方JVM语言中最快的,没有过多去尝试,试试了试简单的特性,确实可以简洁不少,对于个人来言,通常不会用于大型项目,反而性能不是第一,简洁高效则显得尤为重要。比如:
定义Pojo类,直接定义如下
package com.poorren.pojo /** * Created by William.Wei on 2015/11/29. */ data class People(var name:String="People",val age:Int=0) { fun say(){ println("I'am $name,$age years old") } } fun main(args: Array < string >) { val people = People(null) people.say() }
这里初始化时无需new,传入参数中由于默认构造都是不可为空的,都不能传入null,否则直接编译不通过,这样大大降低了出现空指针的几率,相反,如果需要传入null,则只需在类型后面添加”?”如
package com.poorren.pojo /** * Created by William.Wei on 2015/11/29. */ data class People(var name:String?="People",val age:Int=0) { fun say(){ println("I'am $name,$age years old") } }
这里只做简单的记录,其他特性不再一一贴出示例,有兴趣欢迎大家一起学习、交流。
上一篇: 网页局部滚动时屏蔽全局滚动事件(屏蔽鼠标滚轮事件) 下一篇: 基于CSS3 animation实现Marquee效果