首先,Kotlin是关于什么的?Kotlin是一门把Java平台作为目标的新的编程语言。它简洁、安全、优雅而且专注于和Java代码间的互操作性。它几乎可以用于如今Java遍及的所有地方:服务器端开发、Android应用开发和更多其他的方面。Kotlin能够很好的与现有的Java库和框架并存。而且,它运行的性能不亚于Java。  让我们以一个小案例为开始解释Kotlin像什么。这个例子定义了一个 Person 类。它创建了一些Person类的对象。然后找出其中年纪最大的一个Person类对象并将其打印出来。即便是在这么一小段块代码中,你也能够看到Kotlin的许多有趣的特性。我们对其中的一些代码做了高亮处理,以便你能够在书中的后续部分快速的找到它们。代码解释的比较粗略,但是如果你有些地方不能立刻明白也不要担心。我们会在后续的任意章节详细的讨论每一个概念。
 如果你想尝试运行这个例子,最便捷的方式是使用在线的平台https://try.kotl.in/。输入这份示例代码并点击Run按钮,代码将会被执行。代码如下:

package ch01.ATasteOfKotlin

data class Person(val name: String,                   // 1 数据类
                  val age: Int? = null)               // 2 可为空的类型(Int?);变量声明的默认值

fun main(args: Array<String>) {                       // 3 顶层函数    
    val persons = listOf(Person("Alice"),
                         Person("Bob", age = 29))     // 4 命名声明

    val oldest = persons.maxBy { it.age ?: 0 }        // 5 lambda表达式;elvis操作符
    println("The oldest is: $oldest")                 // 6 字符模板
}

// The oldest is: Person(name=Bob, age=29)            // 7 自动生成`toString`方法

 你声明一个简单的数据类。它带有两个属性: nameageage属性默认值为null(如果它的值没有被指定的话)。当创建人名单时,你忽略了Alice的年龄,因此它的默认值null被用上了。之后你使用maxBy函数来查找名单中年龄最大的人。传递给函数的lambda表示式接收一个参数,同时,你使用it作为默认的参数名。如果agenull的话,三元操作符?:将返回0。由于Alice的年龄没有指定,三元操作符用0替代。最终Bob很荣幸的成为了年纪最大的人。  刚才所看到的一切,你都喜欢吗?阅读更多,学习更多,成为一个Kotlin专家吧!我们希望你很快就能够在你的项目中看到这样的代码,而不仅仅是在这本书中。

results matching ""

    No results matching ""