当前位置:主页 > 计算机电子书 > 程序设计 > Kotlin下载
Kotlin极简教程

Kotlin极简教程 PDF 原版超清版

  • 更新:2020-05-04
  • 大小:14.9 MB
  • 类别:Kotlin
  • 作者:陈光剑
  • 出版:机械工业出版社
  • 格式:PDF

  • 资源介绍
  • 相关推荐

这书由阿里巴巴Java程序猿编写,陪你迅速进到Kotlin全球。这书根据Kotli1.1版本,从Kotlin基础知识到动手能力实战,包括了很多优选示例编码和运用案例。

这书从Kotlin的HelloWorld刚开始,栩栩如生解读Kotlin的基础知识和实战案例,分成两绝大多数:“基础知识”一部分包含語言基本、基础基本数据类型与种类自变量、结合类、泛型、面向对象编程、函数式编程、协程等;“实战”一部分包含Kotlin与Java互操作、应用Kotlin集成化SpringBoot开发WEB服务器端、应用Kotlin集成化Gradle开发、应用Kotlin和Anko的Android开发、应用KotliDSL、Kotlin文档IO实际操作与c#多线程、应用KotliNative。这书包括了很多优选示例编码和运用案例,为新手出示了好用手册,也协助娴熟的Java开发者迅速转换到Kotlin。

目录

  • 序 言
  • 前 言
  • 第一部分 Kotlin语言基础
  • 第1章 Kotlin简介 2
  • 1.1 Kotlin简史 2
  • 1.1.1 Kotlin概述 3
  • 1.1.2 Kotlin元年:2016 3
  • 1.2 快速学习工具 4
  • 1.2.1 云端IDE 4
  • 1.2.2 本地命令行环境搭建 5
  • 1.2.3 使用IntelliJ IDEA 9
  • 1.2.4 使用Eclipse 13
  • 1.2.5 使用Gradle构建Kotlin项目 17
  • 1.2.6 编程语言学习小结 18
  • 1.3 本章小结 20
  • 第2章 快速开始HelloWorld 21
  • 2.1 命令行版HelloWorld 21
  • 2.2 应用程序版HelloWorld 21
  • 2.3 Web RESTful HelloWorld 24
  • 2.4 Android版的HelloWorld 34
  • 2.5 JavaScript版HelloWorld 39
  • 2.6 本章小结 49
  • 第3章 Kotlin语言基础 50
  • 3.1 包 50
  • 3.2 声明变量和值 56
  • 3.3 变量类型推断 57
  • 3.3.1 省去变量类型 57
  • 3.3.2 使用is运算符进行类型检测 59
  • 3.4 字符串与其模板表达式 59
  • 3.5 流程控制语句 60
  • 3.5.1 if表达式 60
  • 3.5.2 when表达式 62
  • 3.5.3 for循环 64
  • 3.5.4 while循环 64
  • 3.5.5 break和continue 65
  • 3.5.6 return 66
  • 3.5.7 标签 69
  • 3.5.8 throw表达式 71
  • 3.6 代码注释 72
  • 3.7 语法与标识符 73
  • 3.7.1 修饰符 73
  • 3.7.2 关键字(保留字) 75
  • 3.7.3 操作符和操作符的重载 81
  • 3.7.4 操作符优先级 82
  • 3.7.5 一元操作符 83
  • 3.7.6 二元操作符 85
  • 3.8 扩展函数和扩展属性 90
  • 3.8.1 扩展函数 90
  • 3.8.2 扩展属性 93
  • 3.9 空指针安全 93
  • 3.10 标准库API简介 96
  • 3.11 本章小结 97
  • 第4章 基本数据类型与类型系统 98
  • 4.1 什么是类型 98
  • 4.2 编译时类型与运行时类型 100
  • 4.2.1 弱类型与强类型 100
  • 4.2.2 静态类型与动态类型 101
  • 4.2.3 显式类型与隐式类型 101
  • 4.3 根类型Any 101
  • 4.4 基本类型 102
  • 4.4.1 数字类型 104
  • 4.4.2 字符类型与转义符 109
  • 4.4.3 布尔类型 111
  • 4.4.4 字符串类型 112
  • 4.4.5 数组类型 117
  • 4.5 可空类型 120
  • 4.5.1 Kotlin中的null 120
  • 4.5.2 可空类型String?与安全调用?. 122
  • 4.5.3 可空性的实现原理 124
  • 4.5.4 可空类型层次体系 126
  • 4.6 kotlin.Unit类型 127
  • 4.7 kotlin.Nothing类型 128
  • 4.8 类型检测与类型转换 131
  • 4.8.1 is与!is运算符 131
  • 4.8.2 as运算符 133
  • 4.9 本章小结 134
  • 第二部分 编程进阶
  • 第5章 集合类 136
  • 5.1 集合类的基本概念 136
  • 5.1.1 集合类是一种数据结构 137
  • 5.1.2 集合类是ADT 137
  • 5.1.3 连续存储和离散存储 138
  • 5.2 Kotlin集合类简介 138
  • 5.3 List 139
  • 5.3.1 创建不可变List 140
  • 5.3.2 创建可变集合MutableList 142
  • 5.3.3 遍历List元素 143
  • 5.3.4 List元素操作函数 146
  • 5.3.5 List集合类的基本运算函数 151
  • 5.3.6 过滤操作函数 159
  • 5.3.7 映射操作函数 166
  • 5.3.8 分组操作函数 169
  • 5.3.9 排序操作符 170
  • 5.3.10 生产操作符 171
  • 5.4 Set 174
  • 5.4.1 空集 174
  • 5.4.2 创建Set 176
  • 5.4.3 使用Java中的Set类 177
  • 5.4.4 Set元素的加减操作plus minus 179
  • 5.5 Map 179
  • 5.5.1 创建Map 180
  • 5.5.2 访问Map的元素 184
  • 5.5.3 Map操作符函数 186
  • 5.6 本章小结 192
  • 第6章 泛型 193
  • 6.1 泛型简介 193
  • 6.1.1 泛型与多态 193
  • 6.1.2 为何引进泛型 194
  • 6.1.3 Java与Kotlin中的泛型 195
  • 6.2 型变 197
  • 6.2.1 Java的类型通配符 197
  • 6.2.2 泛型和数组的型变 201
  • 6.3 Kotlin中的泛型 205
  • 6.3.1 out T与in T 205
  • 6.3.2 声明处型变 206
  • 6.3.3 类型投影 206
  • 6.4 泛型类 207
  • 6.5 泛型函数 208
  • 6.6 本章小结 208
  • 第7章 面向对象编程 209
  • 7.1 面向对象编程思想 209
  • 7.1.1 一切皆是映射 209
  • 7.1.2 二进制01与易经阴阳 211
  • 7.1.3 从面向过程到面向对象 212
  • 7.2 类与构造函数 215
  • 7.2.1 声明类 216
  • 7.2.2 构造函数 216
  • 7.2.3 类的属性 218
  • 7.2.4 函数(方法) 219
  • 7.3 抽象类 219
  • 7.3.1 抽象类的定义 219
  • 7.3.2 抽象函数 220
  • 7.3.3 抽象属性和抽象类 221
  • 7.4 接口 223
  • 7.4.1 接口定义 223
  • 7.4.2 实现接口 224
  • 7.4.3 覆盖冲突 225
  • 7.4.4 接口中的属性 225
  • 7.5 抽象类和接口的差异 226
  • 7.6 继承 227
  • 7.6.1 open类 227
  • 7.6.2 多重继承 228
  • 7.7 枚举类 230
  • 7.7.1 枚举类基本用法 231
  • 7.7.2 初始化枚举值 231
  • 7.7.3 使用枚举常量 232
  • 7.8 注解类 233
  • 7.8.1 声明注解 233
  • 7.8.2 使用注解 234
  • 7.9 单例模式与伴生对象 234
  • 7.9.1 单例模式 234
  • 7.9.2 object对象 235
  • 7.9.3 嵌套object对象 236
  • 7.9.4 匿名object 238
  • 7.9.5 伴生对象 239
  • 7.10 密封类 242
  • 7.11 数据类 243
  • 7.11.1 构造函数中的val/var 243
  • 7.11.2 领域实体类 245
  • 7.11.3 数据类的概念 245
  • 7.11.4 数据类的限制 246
  • 7.11.5 数据类的解构 248
  • 7.11.6 标准数据类Pair和Triple 248
  • 7.12 嵌套类 249
  • 7.12.1 嵌套类:类中的类 249
  • 7.12.2 内部类 250
  • 7.12.3 匿名内部类 250
  • 7.13 委托 252
  • 7.13.1 代理模式 252
  • 7.13.2 类的委托 253
  • 7.13.3 委托属性 255
  • 7.14 本章小结 260
  • 第8章 函数式编程 261
  • 8.1 函数式编程概述 261
  • 8.1.1 函数式编程与面向对象编程 262
  • 8.1.2 函数式编程基本特性 265
  • 8.1.3 函数式编程核心思想 266
  • 8.2 在Kotlin中使用函数式编程 284
  • 8.2.1 Kotlin中的函数 284
  • 8.2.2 扩展函数 286
  • 8.2.3 中缀函数 286
  • 8.2.4 函数参数 287
  • 8.2.5 函数返回类型 289
  • 8.2.6 单表达式函数 289
  • 8.2.7 函数作用域 289
  • 8.2.8 泛型函数 290
  • 8.2.9 高阶函数 290
  • 8.2.10 匿名函数 291
  • 8.2.11 Lambda表达式 291
  • 8.2.12 it:单个参数的隐式名称 292
  • 8.2.13 闭包 292
  • 8.2.14 带接收者的函数字面值 293
  • 8.2.15 具体化的类型参数 293
  • 8.2.16 尾递归tailrec 294
  • 8.3 本章小结 295
  • 第9章 轻量级线程:协程 296
  • 9.1 协程的基本概念 296
  • 9.2 协程的基本操作 297
  • 9.2.1 搭建项目 297
  • 9.2.2 简单协程示例 298
  • 9.2.3 使用launch函数启动协程 299
  • 9.2.4 CommonPool对象 299
  • 9.2.5 挂起函数 301
  • 9.2.6 runBlocking函数 302
  • 9.2.7 等待一个协程任务执行完毕 303
  • 9.2.8 取消协程 306
  • 9.2.9 协程取消失效 307
  • 9.2.10 计算代码协程的取消方式 308
  • 9.2.11 在f?inally中的协程代码 310
  • 9.2.12 协程中不被取消的代码块 312
  • 9.2.13 设置协程超时时间 313
  • 9.3 挂起函数 314
  • 9.3.1 按默认顺序执行 314
  • 9.3.2 使用异步并发执行 315
  • 9.4 协程上下文与调度器 316
  • 9.4.1 调度和线程 316
  • 9.4.2 父子协程 318
  • 9.5 通道与管道 319
  • 9.5.1 通道vs阻塞队列 319
  • 9.5.2 关闭通道和迭代遍历元素 320
  • 9.5.3 生产者-消费者模式 321
  • 9.5.4 使用管道生产无限序列 322
  • 9.5.5 管道与无穷质数序列 323
  • 9.5.6 通道缓冲区 324
  • 9.5.7 构建无穷惰性序列 324
  • 9.6 协程与线程 325
  • 9.6.1 轻量级的协程 325
  • 9.6.2 协程vs守护线程 326
  • 9.6.3 区别 327
  • 9.6.4 协程的好处 328
  • 9.6.5 Kotlin协程的内部机制 328
  • 9.7 本章小结 329
  • 第10章 Kotlin与Java互操作 330
  • 10.1 在Kotlin中调用Java 330
  • 10.1.1 调用Okhttp库示例 331
  • 10.1.2 使用Java的集合类 332
  • 10.1.3 调用Java中的Getter和Setter 333
  • 10.1.4 调用Java中返回void的方法 334
  • 10.1.5 调用来自Java中的null 335
  • 10.1.6 使用Java的泛型 336
  • 10.1.7 数组的互操作 337
  • 10.1.8 可变参数的互操作 337
  • 10.1.9 检查Java中的异常 337
  • 10.1.10 调用Java的Object方法 338
  • 10.1.11 访问Java静态成员 340
  • 10.1.12 使用Java的反射 340
  • 10.1.13 SAM转换 341
  • 10.2 在Java中调用Kotlin 342
  • 10.2.1 访问Kotlin属性 342
  • 10.2.2 调用Kotlin的包级函数 344
  • 10.2.3 调用Kotlin中的实例字段 347
  • 10.2.4 调用Kotlin中的静态字段 348
  • 10.2.5 调用Kotlin中的静态方法 349
  • 10.2.6 Kotlin与Java的可见性 350
  • 10.2.7 生成默认参数函数的重载 352
  • 10.2.8 显式声明Kotlin中的异常 353
  • 10.2.9 关键字冲突的互操作 355
  • 10.2.10 Nothing类型 355
  • 10.3 类型映射 356
  • 10.4 Kotlin与Java的简单实例对比 357
  • 10.5 本章小结 364
  • 第三部分 综合实战
  • 第11章 使用Kotlin集成Spring Boot开发Web服务端 366
  • 11.1 Spring Boot简介 366
  • 11.2 系统架构技术栈 367
  • 11.3 准备工作 367
  • 11.3.1 创建工程 367
  • 11.3.2 Gradle配置文件说明 369
  • 11.4 数据库层开发 370
  • 11.4.1 Endpoint监控接口 373
  • 11.4.2 实体类 375
  • 11.4.3 数据访问层代码 377
  • 11.5 后端逻辑开发 379
  • 11.5.1 控制器逻辑层 379
  • 11.5.2 启动初始化CommandLine-Runner 380
  • 11.5.3 应用启动类 380
  • 11.5.4 Model数据绑定 382
  • 11.5.5 模板引擎视图页面 383
  • 11.5.6 运行测试 383
  • 11.6 前端后端集成 384
  • 11.6.1 引入前端组件 384
  • 11.6.2 实现写文章模块 386
  • 11.6.3 加上导航栏 388
  • 11.6.4 抽取公共模板文件 389
  • 11.6.5 写文章的控制器层接口 390
  • 11.6.6 前端Ajax请求 390
  • 11.6.7 文章详情页 391
  • 11.6.8 添加Markdown支持 393
  • 11.6.9 文章列表分页搜索 395
  • 11.7 Spring 5.0对Kotlin的支持 397
  • 11.8 本章小结 399
  • 第12章 使用Kotlin集成Gradle开发 400
  • 12.1 使用Gradle构建Kotlin工程 400
  • 12.2 使用Kotlin编写Gradle构建配置文件 405
  • 12.3 本章小结 407
  • 第13章 使用Kotlin和Anko的Android开发 408
  • 13.1 什么是Anko 408
  • 13.2 快速入门实例 409
  • 13.2.1 功能介绍 410
  • 13.2.2 使用Android Studio新建项目 411
  • 13.2.3 设计UI界面主题颜色 415
  • 13.2.4 核心依赖配置 417
  • 13.2.5 代码编写 421
  • 13.2.6 运行测试 435
  • 13.3 本章小结 437
  • 第14章 使用 Kotlin DSL 438
  • 14.1 什么是DSL 439
  • 14.2 Kotlin的DSL特性支持 441
  • 14.3 使用kotlinx.html DSL写前端代码 442
  • 14.4 实现一个极简的HTTP DSL 447
  • 14.5 本章小结 454
  • 第15章 Kotlin 文件IO操作与多线程 455
  • 15.1 Kotlin IO基本操作 455
  • 15.1.1 终端IO操作 455
  • 15.1.2 读文件 456
  • 15.1.3 写文件 457
  • 15.1.4 遍历文件树 458
  • 15.1.5 网络IO操作 459
  • 15.1.6 kotlin.io标准库 460
  • 15.1.7 执行Shell命令行 461
  • 15.2 正则表达式 463
  • 15.2.1 构造Regex表达式 463
  • 15.2.2 Regex类中的函数 463
  • 15.2.3 使用Java正则表达式类 465
  • 15.3 Kotlin的多线程 466
  • 15.3.1 创建线程 466
  • 15.3.2 同步方法和块 467
  • 15.3.3 可变字段 468
  • 15.4 本章小结 469
  • 第16章 使用 Kotlin Native 470
  • 16.1 Kotlin Native简介 470
  • 16.2 快速开始Hello World 471
  • 16.3 Kotlin Native与C语言互操作 477
  • 16.4 Kotlin Native编译器konan简介 486
  • 16.5 本章小结 494

资源下载

资源下载地址1:https://pan.baidu.com/s/15quc9hvyNwT9EvMOu7d9FA

相关资源

网友留言