Kotlin实战 - (EPUB全文下载)

文件大小:0.45 mb。
文件格式:epub 格式。
书籍内容:

Kotlin实战
第1部分 Kotlin简介
第2部分 拥抱Kotlin
A 构建Kotlin项目
B Kotlin代码的文档化
C Kotlin生态系统
第1部分 Kotlin简介
本书第一部分的目标是让你高效地编写使用现有 API 的 Kotlin 代码。第1章将介绍 Kotlin 的主要特征。在第2章~第4章,你将会学习到最基本的 Java 编程概念(语句、函数、类和类型)是如何映射到Kotlin代码中的,以及Kotlin是如何丰富这些概念使得编程变得更加愉悦的。你完全可以依靠对现有的Java知识的理解,借助IDE的编码辅助功能和Java到 Kotlin的转换器来加速掌握这些知识。在第5章中,你会了解lambda是如何帮助你有效地解决编程中最普遍的一些问题的,比如对集合的操作。最后,在第6章,你将会熟悉 Kotlin 的一项重要特性:对null值处理的支持。
1 Kotlin:定义和目的
本章内容包括
■ Kotlin的基本示范
■ Kotlin语言的主要特征
■ Android和服务器端开发的可能性
■ Kotlin与其他语言的区别
■ 用Kotlin编写并运行代码
Kotlin到底是什么?它是一种针对Java平台的新编程语言。Kotlin简洁、安全、务实,并且专注于与Java代码的互操作性。它几乎可以用在现在Java使用的任何地方:服务器端开发、Android应用,等等。Kotlin可以很好地和所有现存的Java库和框架一起工作,而且性能水平和Java旗鼓相当。在这一章中,我们将详细地探讨Kotlin的主要特征。
1.1 Kotlin初体验
让我们从一个小例子开始,来看看Kotlin代码长什么样子。这个例子定义了一个Person类来表示“人”,创建一个“人”的集合,查找其中年纪最大的人,并打印结果。尽管这是非常小的一段代码,从中也可以看到Kotlin许多有趣的特性。我们对其中的一些特性做了标记,以便你可以方便地在本书后续的内容中找到它们。代码简要地进行了解释,但是如果有些内容你现在还无法理解,请不要担心,稍后我们会详细讨论。
如果你想尝试运行这个例子,最简单的方法是使用http://try.kotl.in的在线Playground。输入示例代码并单击Run按钮,代码将会执行。
代码清单1.1 Kotlin初体验
你声明了一个简单的数据类,它包括了两个属性:name和age。age属性默认为null(如果没有指定)。在创建“人”的列表时,你省略了Alice的年龄,所以这里年龄使用了默认值null。然后你调用了maxBy函数来查找列表中年纪最大的那个“人”。传递给这个函数的lambda表达式需要一个参数,使用it作为这个参数的默认名称。如果age属性为null,Elvis运算符(?:)会返回零。因为Alice的年龄没有指定,Elvis运算符使用零代替了它,所以Bob幸运地成了年纪最大的人。
喜欢这样的代码吗?继续读下去,你将会学习到更多,并成为一名Kotlin专家。我们希望不久之后,在你自己的项目中也能看到这样的代码,而不只是在书上。
1.2 Kotlin的主要特征
你大概已经知道了Kotlin是一种怎样的语言,让我们更加深入地了解一下它的关键属性。首先,我们来看看你能用Kotlin创造哪些种类的应用程序。
1.2.1 目标平台:服务器端、Android及任何Java运行的地方
Kotlin的首要目标是提供一种更简洁、更高效、更安全的替代Java的语言,并且适用于现今使用Java的所有环境。Java是一门非常受欢迎的语言,它广泛地应用于不同的环境:小到智能卡(JavaCard技术),大到Google、Twitter、LinkedIn和其他这种规模的互联网公司运行的最大的数据中心。在这些地方,使用Kotlin可以帮助开发者在实现目标的同时减少代码并避免麻烦。
Kotlin最常见的应用场景有:
● 编写服务器端代码(典型的代表是Web应用后端)
● 创建Android设备上运行的移动应用
但Kotlin还有其他用武之地。例如,可以使用Intel Multi-OS Engine ((https://software.intel.com/en-us/multi-os-engine)让Kotlin代码运行在iOS设备上。还可以使用Kotlin和TornadoFX(https://github.com/edvin/tornadofx)以及JavaFX[1]一起来构建桌面应用程序。
除了Java之外,Kotlin还可以编译成JavaScript,允许你在浏览器中运行Kotlin代码。但截止本书撰写时,对JavaScript的支持仍在JetBrains内部探索并进行原型开发,这超出了本书的范围,而其他一些平台也在考虑支持Kotlin的未来版本。
正如你所看到的,Kotlin的目标平台是相当广泛的。Kotlin并没有被限制在单一的问题域,也没有被限制在解决软件开发者面临的某一类型的挑战。相反,对所有开发过程中涌现的任务,Kotlin都提供了全面的生产力提升。它借助支持特定领域或编程范式的库,提供了卓越的集成水准。接下来让我们来看看Kotlin作为一种编程语言的关键特质。
1.2.2 静态类型
Kotlin和Java一样是一种静态类型的编程语言。这意味着所有表达式的类型在编译期已经确定了,而编译器就能验证对象是否包含了你想访问的方法或者字段。
这与动态类型的编程语言形成了鲜明的对比,后者在JVM上的代表包括Groovy和JRuby。这些语言允许你定义可以存储任何数据类型的变量,或者返回任何数据类型的函数,并在运行时才解析方法和字段引用。这会减少代码量并增加创建数据结构的灵活性。但它的缺点是,在编译期不能发现像名字拼写错误这样的问题,继而导致运行时的错误。
另一方面,与Java不同的是,Kotlin不需要你在源代码中显式地声明每个变量的类型。很多情况下,变量类型可以根据上下文来自动判断,这样就可以省略类型声明。这里有一个可 ............

以上为书籍内容预览,如需阅读全文内容请下载EPUB源文件,祝您阅读愉快。

版权声明:书云(openelib.org)是世界上最大的在线非盈利图书馆之一,致力于让每个人都能便捷地了解我们的文明。我们尊重著作者的知识产权,如您认为书云侵犯了您的合法权益,请参考版权保护声明,通过邮件openelib@outlook.com联系我们,我们将及时处理您的合理请求。 数研咨询 流芳阁 研报之家 AI应用导航 研报之家
书云 Open E-Library » Kotlin实战 - (EPUB全文下载)