kotlin介绍

Kotlin是一门让开发人员更快乐的现代编程语言,号称永远开源。

适用于

移动端跨平台、原生、数据科学、服务端、Web开发、Android

为什么选择Kotlin?

简洁

大大减少样板代码的数量

/*
 使用一行代码创建一个包含 getters、 setters、 `equals()`、 `hashCode()`、 `toString()` 以及 `copy()` 的 POJO:
*/

data class Customer(val name: String, val email: String, val company: String)

// 或者使用 lambda 表达式来过滤列表:

val positiveNumbers = list.filter { it > 0 }

// 想要单例?创建一个 object 就可以了:

object ThisIsASingleton {
    val companyName: String = "JetBrains"
}

安全

避免空指针异常等整个类的错误

/*
 彻底告别那些烦人的 NullPointerException——著名的十亿美金的错误
*/

var output: String
output = null   // 编译错误

// Kotlin 可以保护你避免对可空类型进行误操作

val name: String? = null    // 可空类型
println(name.length())      // 编译错误

// 并且如果类型检测正确,编译器会为你做自动类型转换

fun calculateTotal(obj: Any) {
    if (obj is Invoice)
        obj.calculateTotal()
}

互操作性

充分利用 JVM、Android 和浏览器的现有库

/*
 使用 JVM 上的任何现有库,因为有 100% 的兼容性,包括 SAM 支持。
*/

import io.reactivex.Flowable
import io.reactivex.schedulers.Schedulers

Flowable
    .fromCallable {
        Thread.sleep(1000) //  模仿高开销的计算
        "Done"
    }
    .subscribeOn(Schedulers.io())
    .observeOn(Schedulers.single())
    .subscribe(::println, Throwable::printStackTrace)
// 无论是面向 JVM 还是 JavaScript 平台,都可用 Kotlin 写代码然后部署到你想要的地方

import kotlin.browser.window

fun onLoad() {
    window.document.body!!.innerHTML += "<br/>Hello, Kotlin!"
}

工具友好

可用任何 Java IDE 或者使用命令行构建。

kotlin官网:https://kotlinlang.org/

kotlin中文网:https://www.kotlincn.net/

Comment

您的电子邮箱地址不会被公开。 必填项已用 * 标注