(1)本书基于成熟的Kotlin 1.3版编写,是发者可以快速门 Kotlin 的超棒资源,为常见的发任务提供了简明实用的指南,同时指出了从Java过渡到Kotlin面临的困难。由携程机票移动端高级工程师、Kotlin中文社区成员、Kotlin官方文档译者乔禹昂翻译。 (2)本书的重不仅在于讲解 Kotlin 的语法与语义,还将展示何时以及为何应该使用某个指定的语言特性。本书的目标不一定会涵盖每一个 Kotlin 语法与库的细节。但在*后,本书添加了很多基本原理的内容,让即使只有 Kotlin 初级知识的读者也可以理解本书的内容。
售 价:¥
纸质售价:¥59.20购买纸书
温馨提示:数字商品不支持退换货,不提供源文件,不支持导出打印
为你推荐
O’Reilly Media,Inc.介绍
译者序
本书赞誉
序言
前言
本书目标读者
本书主要内容
排版约定
示例代码
O’Reilly在线学习(O’Reilly Online Learning)
如何联系我们
致谢
第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 无事生非[1]
问题
解决方案
讨论
第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 协程调试
问题
解决方案
讨论
作者简介
封面简介
买过这本书的人还买过
读了这本书的人还在读
同类图书排行榜