Kotlin 核心编程 (42):基础语法 2.6

阅读数:1 2019 年 12 月 25 日 15:34

Kotlin核心编程(42):基础语法 2.6

(本章小结)

内容简介
本书不是一本简单介绍 Kotlin 语法应用的图书,而是一部专注于帮助读者深入理解 Kotlin 的设计理念,指导读者实现 Kotlin 高层次开发的实战型著作。书中深入介绍了 Kotlin 的核心语言特性、设计模式、函数式编程、异步开发等内容,并以 Android 和 Web 两个平台为背景,演示了 Kotlin 的实战应用。
全书共 13 章,分为 4 个部分:
热身篇—Kotlin 基础(第 1~2 章),简单介绍了 Kotlin 设计哲学、生态及基础语法,其中包括 Kotlin 与 Scala、Java 之间的关联与对比,以及 Kotlin 的类型声明的特殊性、val 和 var 的使用、高阶函数的使用、面向表达式编程的使用、字符串的定义与操作等内容;
下水篇—Kotlin 核心(第 3~8 章),深入介绍了面向对象、代数数据类型、模式匹配、类型系统、Lambda、集合、多态、扩展、元编程等 Kotlin 开发核心知识,这是本书的重点,其中涉及很多开发者特别关心的问题,比如多继承问题、模式匹配问题、用代数数据类型抽象业务问题、泛型问题、反射问题等。
潜入篇—Kotlin 探索(第 9~11 章),探索 Kotlin 在设计模式、函数式编程、异步和并发等编程领域的应用,其中包括对 4 大类设计模式、Typeclass 实现、函数式通用结构设计、类型替代异常处理、共享资源控制、CQRS 架构等重点内容的深入剖析;
遨游篇—Kotlin 实战(第 12~13 章),着重演示了 Kotlin 在 Android 和 Web 平台的实战案例,其中涉及架构方式、单向数据流模型、解耦视图导航、响应式编程、Spring 5 响应式框架和编程等内容。

(1)类型推导

Kotlin 拥有比 Java 更加强大的类型推导功能,这避免了静态类型语言在编码时需要书写大量类型的弊端。但它不是万能的,在使用代码块函数体时,必须显式声明返回值类型。此外,一些复杂情况如递归,返回值类型声明也不能省略。

(2)变量声明

我们通过 val 和 var 在 Kotlin 中声明变量,以及一些类的成员属性,代表它们的引用可变性。在函数式开发中,我们优先推荐使用 val 和不可变对象来减少代码中的副作用,提升程序的可靠性和可组合性。在一些个别情况下,尤其是强调性能的代码中,用 var 定义局部变量会更加适合。

(3)函数声明

在 Kotlin 中,一个普通的函数可分为代码块体和表达式体,前者类似于 Java 中我们定义函数的习惯,后者因为是一个表达式,所以可以省略 return 关键字。

(4)高阶函数

因为拥抱函数式的设计,在 Kotlin 中函数是头等公民,这不仅可以让我们在程序中到处定义函数,同时也意味着函数可以作为值进行传递,以及作为另一个函数的返回值。在函数作为参数的时候,我们需要使用函数引用表达式来进行传值。柯里化是函数作为返回值的一种应用,然而在 Kotlin 中,由于特殊语法糖的存在,我们很少会使用柯里化技术。

(5)Lambda 表达式

Lambda 是 Kotlin 中非常重要的语法特性,我们可以把它当作另一种匿名函数。Lambda 简洁的语法以及 Kotlin 语言深度的支持,使得它在我们用 Kotlin 编程时得到极大程度的应用。

(6)表达式和流程控制

表达式在 Kotlin 中有着相当重要的地位,这与表达式本身相较于普通语句所带来的优势有关。与后者相比,表达式显得更加安全,更有利于组合,且拥有更强的表达能力。在 Kotlin 中,流程控制不像 Java 是清一色的普通语句,利用 if、when、try、range、中缀等表达式我们能够写出更加强大的代码。与此同时,Kotlin 中的 for 语句也要更加精简。

(7)字符串操作

Kotlin 的字符串跟 Java 一样,定义的都是不可变对象。除了提供更多丰富的字符串 API 之外,Kotlin 还支持原生字符串、字符串模板这些 Java 当前并没有支持的特性。

Kotlin核心编程(42):基础语法 2.6

购书地址 https://item.jd.com/12519581.html?dist=jd

评论

发布