作品简介

本书的重点不仅在于讲解Kotlin的语法与语义,还将展示何时以及为何应该使用某个指定的语言特性。本书的目标不一定会涵盖每一个Kotlin语法与库的细节。但在最后,本书添加了很多基本原理的内容,让即使只有Kotlin初级知识的读者也可以理解本书的内容。当你认真学习Kotlin的细节后,你就可以使用这门受欢迎的语言构建Android应用、Web应用以及其他程序。Kotlin不仅可以用于任何应用Java的地方,还可以用于iOS开发、编写原生应用程序、JavaScript开发以及更多场景。

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

Ken Kousen是Java Champion、Oracle Groundbreaker Ambassador与JavaOne Rock Star三个奖项的获得者。Ken在他自己的公司Kousen IT开发软件并教授软件开发课程。同时也是JetBrains官方认证的Kotlin培训合作伙伴。

乔禹昂,携程机票移动端高级工程师,长期在工作中将Kotlin用于实践,Kotlin界的优秀“后浪”。Kotlin中文社区成员,官方文档译者。主要负责翻译协程、Native部分的多篇官方文档,曾担任北京GDG/Kotlin Everywhere大会讲师,分享了《Kotlin函数式编程》的主题。对Kotlin Native、Kotlin Multiplaform等实验性新技术也颇有研究。

作品目录

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