Kotlin~程权威指南 PDF 下蝲
整理下蝲Q?/strong>
版权归出版社和原作者所有,链接已删除,误买正?/b>
用户下蝲说明Q?/strong>
?sh)子版仅供预览,下蝲?4时内务必删除,支持正版Q喜Ƣ的误买正版书c:
http://product.dangdang.com/27918135.html
相关截图Q?/strong>
资料介:
本书q名技术培训机构Big Nerd Ranch打造,U承其一贯的z、实用的写作风格。Kotlin已成为Android官方支持的开发语aQ但它具有^台独立性,亦可用于开发各U类型的原生应用。本书将带领你通过搭徏书中的示例项目来循序渐进地掌握Kotlin 的用法。首先用IntelliJ IDEA搭徏沙盒目Q帮助你熟?zhn)开发环境。接下来介绍Kotlin~程知识Q从较ؓ基础的变量、常量、类型等讲vQ逐渐深入到ѝ对象和抽象cR?后是函数式编E、Kotlin与Java互操作、构建Android应用{较复杂的内宏V多章配有习(fn)题,帮你温故知新Qm固所学知识?/span>
资料目录Q?/strong>
W?1章 Kotlin应用开发初体验 1
1.1 安装IntelliJ IDEA 1
1.2 W?一个Kotlin目 2
1.2.1 创徏首个Kotlin文g 5
1.2.2 q行Kotlin文g 7
1.3 Kotlin REPL 8
1.4 深入学习(fn)Qؓ什么要用IntelliJ 10
1.5 深入学习(fn)Q面向JVM 10
1.6 挑战l习(fn)Q用REPL研究Kotlin中的数q算W 11
W?2章 变量、常量和cd 12
2.1 数据cd 12
2.2 声明变量 12
2.3 Kotlin的内|数据类型 14
2.4 只读变量 15
2.5 cd推断 17
2.6 ~译时常量 19
2.7 查看Kotlin字节码 19
2.8 深入学习(fn)QKotlin中的Java基本数据cd 21
2.9 挑战l习(fn)Q定义hasSteed变量 22
2.10 挑战l习(fn)Q独角兽之角 22
2.11 挑战l习(fn)Q魔镜 23
W?章 条g语句 24
3.1 if/else语句 24
3.1.1 d更多条g 27
3.1.2 if/else嵌套语句 28
3.1.3 更优雅的条g语句 29
3.2 range 33
3.3 when表达式 34
3.4 string模板 36
3.5 挑战l习(fn)Qrange 研究 37
3.6 挑战l习(fn)Q优化玩家光环展C 38
3.7 挑战l习(fn)Q可配置的玩家状冉|告格式 38
W?章 函数 40
4.1 使用函数重构代码 40
4.2 函数l构剖析 42
4.2.1 函数头 42
4.2.2 函数体 44
4.2.3 函数作用域 45
4.3 调用函数 46
4.4 以函数重构代码 46
4.5 自定义函数 48
4.6 默认值参 49
4.7 单表辑ּ函数 50
4.8 Unit函数 51
4.9 具名函数参数 52
4.10 深入学习(fn)QNothingcd 53
4.11 深入学习(fn)QJava中的文gU函数 54
4.12 深入学习(fn)Q函数重载 55
4.13 深入学习(fn)Q反引号中的函数名 56
4.14 挑战l习(fn)Q单表达式函数 57
4.15 挑战l习(fn)QFireball醉酒E度 57
4.16 挑战l习(fn)Q醉酒状态报告 57
W?章 匿名函数与函数类型 58
5.1 匿名函数 58
5.1.1 函数cd 59
5.1.2 隐式q回 60
5.1.3 函数参数 61
5.1.4 it关键字 61
5.1.5 多个参数 62
5.2 cd推断 63
5.3 定义参数是函数的函数 63
5.4 函数内联 65
5.5 函数引用 66
5.6 函数cd作ؓq回cd 68
5.7 深入学习(fn)QKotlin中的lambda是闭包 69
5.8 深入学习(fn)Qlambda与匿名内部类 69
W?章 null安全与异常 71
6.1 可空性 71
6.2 Kotlin的nullcd 72
6.3 ~译旉与运行时间 73
6.4 null安全 74
6.4.1 选项一Q安全调用操作符 75
6.4.2 选项二:使用!!.操作W 76
6.4.3 选项三:使用if判断null值情c77
6.5 异常 79
6.5.1 抛出异常 80
6.5.2 自定义异常 81
6.5.3 处理异常 82
6.6 先决条g函数 83
6.7 nullQ真的一无是处吗 85
6.8 深入学习(fn)Q已查异怸未检查异常 86
6.9 深入学习(fn)Q可I性该如何保证 86
W?章 字符丌Ӏ88
7.1 字符串截取 88
7.1.1 substring 88
7.1.2 split 90
7.2 字符串操作 92
7.3 字符串比较 93
7.4 深入学习(fn)QUnicode 95
7.5 深入学习(fn)Q遍历字W 95
7.6 挑战l习(fn)Q改qtoDragonSpeak函数 96
W?章 数 97
8.1 数字cd 97
8.2 整数 98
8.3 数数字 99
8.4 字符串{数值类型 100
8.5 Intcd转Doublecd 101
8.6 Doublecd格式化 102
8.7 Doublecd转换为Intcd 103
8.8 深入学习(fn)Q位q算 104
8.9 挑战l习(fn)Q还剩多酒 105
8.10 挑战l习(fn)Q解册C额问题 105
8.11 挑战l习(fn)Q龙币 105
W?章 标准库函数 106
9.1 apply 106
9.2 let 107
9.3 run 108
9.4 with 109
9.5 also 109
9.6 takeIf 110
9.7 使用标准库函数 110
W?10章 List与Set 112
10.1 List 112
10.1.1 获取列表元素 113
10.1.2 更改列表内容 116
10.2 遍历 119
10.3 文件数据读取到列表 122
10.4 解构 124
10.5 Set 124
10.5.1 创徏一个Set集合 124
10.5.2 向Set集合中添加元素 125
10.6 while循环 128
10.7 break表达式 129
10.8 集合转换 129
10.9 深入学习(fn)Q数l类型 130
10.10 深入学习(fn)Q只M不可变 131
10.11 挑战l习(fn)Q美化酒水单 132
10.12 挑战l习(fn)Q进一步美化酒水单 132
W?11章 Map 133
11.1 创徏一个Map 133
11.2 dMap集合的倹{135
11.3 向Map集合dV136
11.4 修改Map集合倹{137
11.5 挑战l习(fn)Q守卫小客栈 140
W?12章 定义cR141
12.1 定义一个类 141
12.2 构造实例 141
12.3 cd数 142
12.4 可见性与装 143
12.5 cd性 144
12.5.1 属性getter与setter 146
12.5.2 属性可见性 148
12.5.3 计算属性 149
12.6 重构NyetHack 149
12.7 使用包 156
12.8 深入学习(fn)Q细看var与val属性 157
12.9 深入学习(fn)Q防范竞态条件 160
12.10 深入学习(fn)Q私有包 161
W?13章 初始化 162
13.1 构造函数 162
13.1.1 L造函数 163
13.1.2 在主构造函数里定义属性 164
13.1.3 ơ构造函数 164
13.1.4 默认参数 166
13.1.5 命名参数 167
13.2 初始化块 167
13.3 属性初始化 168
13.4 初始化顺序 170
13.5 延迟初始化 172
13.5.1 延迟初始化 172
13.5.2 惰性初始化 173
13.6 深入学习(fn)Q初始化陷阱 174
13.7 挑战l习(fn)Q圣剑之谜 176
W?14章 l承 178
14.1 定义RoomcR178
14.2 创徏子类 179
14.3 cd 184
14.4 Kotlincdơ 186
14.4.1 cd转换 187
14.4.2 cd转换 188
14.5 深入学习(fn)QAny 189
W?15章 对象 190
15.1 object关键字 190
15.1.1 对象声明 190
15.1.2 对象表达式 195
15.1.3 伴生对象 195
15.2 嵌套cR196
15.3 数据cR199
15.3.1 toString 200
15.3.2 equals 200
15.3.3 copy 200
15.3.4 解构声明 201
15.4 枚DcR202
15.5 q算W重载 203
15.6 探烦NyetHack游戏世界 205
15.7 深入学习(fn)Q定义结构比较 208
15.8 深入学习(fn)Q代数数据类型 210
15.9 挑战l习(fn)Q?ldquo;quit”命o 211
15.10 挑战l习(fn)Q魔力地图 212
15.11 挑战l习(fn)Q摇铃 212
W?16章 接口与抽象类 213
16.1 定义接口 213
16.2 实现接口 214
16.3 默认实现 216
16.4 抽象cR217
16.5 在NyetHack 游戏里打怪 219
W?17章 泛型 223
17.1 定义泛型cR223
17.2 泛型函数 224
17.3 多泛型参数 225
17.4 泛型U束 227
17.5 vararg关键字与get函数 228
17.6 in与out 230
17.7 深入学习(fn)Qreified关键字 234
W?18章 扩展 236
18.1 定义扩展函数 236
18.2 泛型扩展函数 237
18.3 扩展属性 239
18.4 可空cL展 240
18.5 扩展实现揭秘 241
18.6 用扩展封装代码 241
18.7 定义扩展文g 243
18.8 重命名扩展 245
18.9 Kotlin标准库中的扩展 245
18.10 深入学习(fn)Q带接收者的函数字面量 246
18.11 挑战l习(fn)QtoDragonSpeak扩展 247
18.12 挑战l习(fn)Qframe扩展 247
W?19章 函数式编E基 248
19.1 函数cd 248
19.1.1 变换 248
19.1.2 qo 250
19.1.3 合ƈ 251
19.2 Z么要学习(fn)函数式编E 252
19.3 序列 253
19.4 深入学习(fn)Q评C码性能 254
19.5 深入学习(fn)QArrow.kt 255
19.6 挑战l习(fn)QMap值反转 255
19.7 挑战l习(fn)Q应用函数式~程 256
19.8 挑战l习(fn)Q滑H算法 257
W?20章 Kotlin与Java互操作 258
20.1 与JavacM操作 258
20.2 互操作性与可空性 259
20.3 cd映射 262
20.4 getter和setterҎ(gu)与互操作性 263
20.5 cM外 265
20.6 异常与互操作性 272
20.7 Java中的函数cd 275
W?21章 用Kotlin开发首个Android应用 277
21.1 Android Studio 277
21.1.1 Gradle配置 281
21.1.2 目l织 283
21.2 定义UI 283
21.3 用模拟器q行应用 286
21.4 生成角色 287
21.5 ActivitycR288
21.6 实例化视图 289
21.7 Kotlin Android扩展 291
21.8 讄单击事g监听器 293
21.9 保存实例状态 294
21.10 使用扩展重构代码 296
21.11 深入学习(fn)QAndroid KTX与Anko库 298
W?22章 Kotlin协程介 300
22.1 解析角色数据 300
22.2 获取动态数据 302
22.3 AndroidȝE 305
22.4 启用协程 305
22.5 使用async指定协程 305
22.6 launch与async/await 307
22.7 挂v函数 307
22.8 挑战l习(fn)Q动态数据 308
22.9 挑战l习(fn)Q最力量倹{308
W?23章 ~后语 309
23.1 前方的\ 309
23.2 插个q告 309
23.3 致谢 309
附录A 补充挑战l习(fn) 310
术语表 316
|