《Kotlin 实战》 读书笔记——第一章

1.1 Kotlin初体验

从小例子开始看看Kotlin代码长什么样子。
下面这个例子,
定义了一个Person类来表示"人",创建一个”人“的集合,查找其中年纪最大的人,并打印结果。

data class Person(val name:String , val age:Int?= null)

fun main(args: Array) {
    
    val persons = listOf(Person("kingsley") , Person("Deng" , age = 25))
    
    val oldest = persons.maxBy{ it.age ?: 0}
    
    println("The oldest is : $oldest")
}

声明了一个简单的数据类,包括其中两个属性:name和age.

age属性默认为null(如果没有指定)。在创建“人”列表时,忽略了kingsley的年龄,所以默认其值为Null。然后你调用了maxBy函数来查找列表中年纪最大的那个“人“。传递给这个函数的lamba表达式需要一个参数,使用it作为这个参数的默认名称。如果age属性为null,Elvis运算符(?:)会返回零。

1.2 Kotlin的主要特征

1.2.1 目标平台:服务器端、Android及任何Java运行的地方

Kotlin 最常见的应用场景:

  • 编写服务器端代码(典型的代表是Web的应用后端)
  • 创建Android设备上运行的移动应用

1.2.2 静态类型

与Java不同的是,Kotlin需要在源代码中显式地声明每个变量的类型。
最简单的例子:

val x = 1

在声明这个变量时,由于变量初始化为整形值,Kotlin自动判断出它的类型是Int.编译器这种从上下文推断变量的能力被称作类型推导。

静态类型带来的好处:

  • 性能 —— 方法调用速度更快,因为不需要再运行时才来判断调用的是哪个方法。
  • 可靠性——编译器验证了程序的正确性,因而运行时崩溃的概率更低。
  • 可维护性——陌生代码更容易维护,因为你可以看到代码中用到的对象的类型。
  • 工具支持——静态类型使IDE能提供可靠的重构、精确的代码补全以及其他特性。

1.2.3 函数式和面向对象

你可能感兴趣的:(《Kotlin 实战》 读书笔记——第一章)