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

video

Kotlin Fundamentals

by Edvin Syse

Kotlin is an easy-to-learn, pragmatic language that has adopted the best traits of other popular languages …

book

Kotlin Cookbook

by Ken Kousen

Use Kotlin to build Android apps, web applications, and more—while you learn the nuances of this …

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

Pro Android with Kotlin: Developing Modern Mobile Apps with Kotlin and Jetpack

by Peter Späth

Develop Android apps with Kotlin to create more elegant programs than the Java equivalent. This revised …