Kotlin 编程实践

Book description

认真学习 Kotlin 的细节后,你就可以使用这门受欢迎的语言构建 Android 应用、Web 应用以及其他程序。通过学习本书,开发者们将学习到如何在自己的项目中使用这门基于Java的语言。无论你是经验丰富的编程人员还是学习 Kotlin 的新人,都将获益良多。

作者 Ken Kousen(也是Modern Java Recipes一书的作者)将教授你如何专注于使用自己的 Kotlin 方案来解决问题而不是陷于基础语法之中。针对常见问题,本书将给出具体解决方案。Kotlin 在 Android 开发上已经大规模使用,但实际上 Kotlin 不仅可以用于任何应用 Java 的地方,还可以用于 iOS 开发、编写原生应用程序、JavaScript 开发以及更多场景。立即投入 Kotlin 的学习并开始创建新项目吧!

通过本书,你将:

  • 掌握函数式编程概念,包括 lambda 表达式、序列和并发。
  • 学习如何使用委托、延迟初始化和作用域函数。
  • 学习 Kotlin 与 Java 互操作的能力并使用 Kotlin 访问 Java 库。
  • 能够编写扩展函数。
  • 能够使用诸如 JUnit5 之类的实用库。
  • 在特定的开发框架(例如 Android 和 Spring)内获得实践经验。

Table of contents

  1. 封面
  2. 扉页
  3. 版权页
  4. O'Reilly介绍
  5. 译者序
  6. 本书赞誉
  7. 目录
  8. 序言
  9. 前言
    1. 本书目标读者
    2. 本书主要内容
    3. 排版约定
    4. 示例代码
    5. O'Reilly在线学习
    6. 如何联系我们
    7. 致谢
  10. 第1章 安装并运行Kotlin
    1. 1.1 在没有本地编译器的情况下运行Kotlin
    2. 1.2 在本地安装Kotlin
    3. 1.3 在命令行中编译并运行Kotlin
    4. 1.4 使用Kotlin REPL
    5. 1.5 执行Kotlin脚本
    6. 1.6 使用GraalVM构建独立应用程序
    7. 1.7 为Gradle添加Kotlin插件(Groovy语法)
    8. 1.8 为Gradle添加Kotlin插件(Kotlin语法)
    9. 1.9 使用Gradle构建Kotlin工程
    10. 1.10 使用Maven编译Kotlin
  11. 第2章 Kotlin基础
    1. 2.1 在Kotlin中使用可空类型
    2. 2.2 在Java中添加可空指示器
    3. 2.3 为Java添加重载方法
    4. 2.4 显式类型转换
    5. 2.5 打印不同的进制
    6. 2.6 数幂
    7. 2.7 使用移位运算符
    8. 2.8 使用位布尔运算符
    9. 2.9 使用to函数创建Pair实例
  12. 第3章 Kotlin中的面向对象编程
    1. 3.1 理解const与val的不同之处
    2. 3.2 创建自定义的getter与setter
    3. 3.3 定义数据类
    4. 3.4 幕后属性技术
    5. 3.5 操作符重载
    6. 3.6 使用lateinit进行延迟初始化
    7. 3.7 使用安全转换函数、恒等操作符,以及Elvis操作符覆盖equals函数
    8. 3.8 创建单例
    9. 3.9 无事生非译注4
  13. 第4章 函数式编程
    1. 4.1 在算法中使用fold
    2. 4.2 使用reduce函数进行归约
    3. 4.3 使用尾递归
  14. 第5章 集合
    1. 5.1 使用数组
    2. 5.2 创建集合
    3. 5.3 为已存在的集合创建只读视图
    4. 5.4 从集合构建map
    5. 5.5 当集合为空的时候返回默认值
    6. 5.6 将变量限制在给定区间
    7. 5.7 处理集合中的窗口
    8. 5.8 解构list
    9. 5.9 将多个属性排序
    10. 5.10 自定义迭代器
    11. 5.11 根据类型过滤集合
    12. 5.12 在数列中创建区间
  15. 第6章 序列
    1. 6.1 使用懒序列
    2. 6.2 生成序列
    3. 6.3 管理无限序列
    4. 6.4 以固定间隔从序列生成元素
  16. 第7章 作用域函数
    1. 7.1 使用apply函数在构造结束之后初始化对象
    2. 7.2 使用also函数进行其他操作
    3. 7.3 使用let函数与Elvis
    4. 7.4 使用let函数代替临时变量
  17. 第8章 Kotlin委托
    1. 8.1 使用委托实现组合
    2. 8.2 使用lazy委托
    3. 8.3 确保值不为空
    4. 8.4 使用observable与vetoable委托
    5. 8.5 使用映射作为委托
    6. 8.6 创建你自己的委托
  18. 第9章 测试
    1. 9.1 设置测试类的生命周期
    2. 9.2 使用数据类进行测试
    3. 9.3 使用帮助函数并使用默认参数
    4. 9.4 使用不同的参数重复JUnit 5的测试
    5. 9.5 使用数据类进行参数化测试
  19. 第10章 输入/输出
    1. 10.1 使用use函数管理资源
    2. 10.2 写文件
  20. 第11章 其他
    1. 11.1 在代码中获取Kotlin版本号
    2. 11.2 重复执行lambda表达式
    3. 11.3 强制when语句进行穷举
    4. 11.4 在正则表达式中使用replace函数
    5. 11.5 转换为二进制字符串并返回
    6. 11.6 使一个类可执行
    7. 11.7 测量经过时间
    8. 11.8 启动线程
    9. 11.9 使用TODO强制完成
    10. 11.10 理解Random的随机行为
    11. 11.11 在函数命名中使用特殊字符
    12. 11.12 告知Java处理异常
  21. 第12章 Spring框架
    1. 12.1 开放用于继承的Spring管理的bean类
    2. 12.2 持久化Kotlin数据类
    3. 12.3 依赖注入
  22. 第13章 协程与结构化并发
    1. 13.1 选择协程构建器
    2. 13.2 使用withContext替换async/await
    3. 13.3 使用协程调度器
    4. 13.4 在Java线程池上运行协程
    5. 13.5 取消协程
    6. 13.6 协程调试
  23. 作者简介
  24. 封面简介

Product information

  • Title: Kotlin 编程实践
  • Author(s): Ken Kousen
  • Release date: July 2020
  • Publisher(s): China Machine Press
  • ISBN: 9787111659624

You might also like

book

Java 技术手册(原书第7版)

by Benjamin J. Evans, David Flanagan

本书不仅可以帮助有经验的Java程序员充分掌握Java 9到Java 11,也为新的开发者提供了学习的路径。书中用大量示例演示了如何充分利用现代的Java API和开发的最佳实践。本版彻底修订了关于Java平台模块系统的内容。 全书分为两部分:第一部分对Java编程语言和Java平台的核心运行时方面进行了快速、清晰的介绍,第二部分介绍了Java发行版附带的新工具。 通过学习本书,你可以: 快速了解语言细节的新进展,包括Java 9到Java 11的更改。 使用Java基本句法学习面向对象编程。 探索泛型、枚举、注解及lambda表达式。 理解面向对象程序设计的基础技术。 详解并发与内存管理,以及它们的紧密关联。 使用Java集合处理常见的数据格式。 使用JShell探究在新的交互式环境中的Java编程。 熟练使用OpenJDK中的开发工具。

book

GraphQL 学习指南

by Eve Porcello, Alex Banks

为什么GraphQL是Ajax诞生以来最具创新性的数据获取技术?GraphQL通过为API提供查询语言和用以完成查询的运行状态,提供了对REST和特定页面服务架构的替代方案。借助这本书,Alex Banks和Eve Porcello为希望开始使用GraphQL的前端Web开发人员、后端工程师以及项目或产品经理提供了一条清晰的学习路径。 你将先后探索图论、图数据结构和GraphQL类型,之后在实际项目中学习如何为照片共享应用构建schema。本书还将向你介绍Apollo Client,可用来将GraphQL连接到你的用户界面。 探索图论并回顾当今使用的家喻户晓的图形实例。 了解GraphQL如何将数据库查询方法应用于互联网。 为照片分享应用创建一个schema,让它成为前后端团队间的桥梁和契约。 使用JavaScript构建功能完备的GraphQL服务,使用Apollo实现客户端。 了解如何为生产环境准备GraphQL API和客户端。

book

Java 9 模块化开发:核心原则与实践

by Sander Mak, Paul Bakker

Java 9向Java平台引入了模块系统,这是一个非常重要的飞跃,标志着模块化Java软件开发的新纪元。当需要创建灵活且易于维护的代码时,模块化是一个关键的架构设计原则。本书给出了Java模块系统的明确概述,并演示了如何通过创建模块化应用程序来帮助管理以及降低复 杂性。 作者引导我们了解了模块系统中的相关概念以及工具,介绍了可以将现有代码迁移到模块中的模式并以模块的方式构建新的应用程序。 了解Java平台自身如何实现模块化 学习模块化如何影响应用程序的设计、编译、打包以及开发 编写自己的模块 使用模式改进任意代码库的可维护性、灵活性以及重用性 学习如何使用服务来创建解耦模块 将现有代码迁移到模块,并学习如何使用并不是模块的现有库 创建优化的自定义运行时映像,从而改变装载模块化Java应用程序的方式

book

JavaScript 权威指南(原书第7版)

by David Flanagan

JavaScript是Web编程语言,也是如今软件开发者使用最多的编程语言。近25年来,这本畅销书一直是JavaScript程序员必读的技术著作,本版已经更新到涵盖JavaScript的2020版。新增的关于类、模块、迭代器、生成器、期约和async/await的章节中,令人深思、富有启发性的示例随处可见。 本书适合想学习JavaScript的程序员,以及希望深入理解和掌握这门语言的Web开发者。 本书涵盖以下内容: 类型、变量、操作符、语句、对象和数组。 函数、类、模块、迭代器、生成器、期约和async/await。 JavaScript标准库,包括数据结构、正则表达式、JSON、国际化和URL。 Web平台,包括文档、组件、图形、网络、存储和线程。 Node.js,包括缓冲区、文件、流、线程、子进程、Web客户端和Web服务器。 专业JavaScript开发者必备的工具和语言扩展。