lgli/[美] 乔希 • 斯基恩 戴维 • 格林哈尔希 译者:王明发 [译者:王明发, 乔希 • 斯基恩 戴维 • 格林哈尔希] - Kotlin编程权威指南 (2017, 人民邮电出版社).epub
Kotlin编程权威指南 : the big nerd ranch guide = Kotlin programming 🔍
[美] 乔希 • 斯基恩 戴维 • 格林哈尔希 译者:王明发 [译者:王明发, 乔希 • 斯基恩 戴维 • 格林哈尔希]
北京:人民邮电出版社, The Big Nerd Ranch Guide 中译本, 1, 2019
英语 [en] · 中文 [zh] · EPUB · 3.3MB · 2019 · 📘 非小说类图书 · 🚀/duxiu/lgli/zlib · Save
描述
"Kotlin is a statically typed programming language designed to interoperate with Java and fully supported by Google on the Android operating system. Based on Big Nerd Ranch's popular Kotlin Essentials course, this guide shows you how to work effectively with the Kotlin programming language through hands-on examples and clear explanations of key Kotlin concepts and foundational APIs. Written for Kotlin 1.2, this book will also introduce you to JetBrains' IntelliJ IDEA development environment. Whether you are an experienced Android developer looking for modern features beyond what Java offers or a new developer ready to learn your first programming language, the authors will guide you from first principles to advanced usage of Kotlin. By the end of this book, you will be empowered to create reliable, concise applications in Kotlin."-- Provided by publisher
备用文件名
zlib/no-category/[美] 乔希 • 斯基恩 戴维 • 格林哈尔希 译者:王明发 [译者:王明发, 乔希 • 斯基恩 戴维 • 格林哈尔希]/Kotlin编程权威指南_18160640.epub
备选标题
Kotlin Programming: The Big Nerd Ranch Guide (Big Nerd Ranch Guides)
备选标题
Kotlin编程权威指南 Kotlin programming the big nerd ranch guide
备选标题
Kotlin bian cheng quan wei zhi nan
备选作者
Matthew Mathias, John Gallagher, David Greenhalgh, Josh Skeen
备选作者
Josh Skeen; David Greenhalgh, ((Ingénieur informaticien))
备选作者
(美)乔希·斯基恩(Josh Skeen),(美)戴维·格林哈尔希
备选作者
Skeen, Josh, Greenhalgh, David
备选作者
斯基恩 (Skeen, Josh)
备用出版商
The People's Posts and Telecommunications Publishing House
备用出版商
Pearson Higher Education & Professional Group
备用出版商
Globe Fearon Educational Publishing
备用出版商
Big Nerd Ranch Guides
备用出版商
Longman Publishing
备用出版商
Cengage Gale
备用版本
Tu ling cheng xu she ji cong shu, Di 1 ban, Beijing, 2019
备用版本
United States, United States of America
备用版本
Pearson Education (US), [N.p.], 2018
备用版本
First edition, Atlanta, GA, 2018
备用版本
China, People's Republic, China
备用版本
1, 2018-06-25
备用版本
1, PS, 2018
备用版本
2017
元数据中的注释
lg3053801
元数据中的注释
Bookmarks: p1 (p1): 第1章 Kotlin应用开发初体验
p1-1 (p1): 1.1安装IntelliJ IDEA
p1-2 (p2): 1.2第一个Kotlin项目
p1-2-1 (p5): 1.2.1创建首个Kotlin文件
p1-2-2 (p7): 1.2.2运行Kotlin文件
p1-3 (p8): 1.3Kotlin REPL
p1-4 (p10): 1.4深入学习:为什么要用IntelliJ
p1-5 (p10): 1.5深入学习:面向JVM
p1-6 (p11): 1.6挑战练习:使用REPL研究Kotlin中的算数运算符
p2 (p12): 第2章 变量、常量和类型
p2-1 (p12): 2.1数据类型
p2-2 (p12): 2.2声明变量
p2-3 (p14): 2.3Kotlin的内置数据类型
p2-4 (p15): 2.4只读变量
p2-5 (p17): 2.5类型推断
p2-6 (p19): 2.6编译时常量
p2-7 (p19): 2.7查看Kotlin字节码
p2-8 (p21): 2.8深入学习:Kotlin中的Java基本数据类型
p2-9 (p22): 2.9挑战练习:定义hasSteed变量
p2-10 (p22): 2.10挑战练习:独角兽之角
p2-11 (p23): 2.11挑战练习:魔镜
p3 (p24): 第3章 条件语句
p3-1 (p24): 3.1if/else语句
p3-1-1 (p27): 3.1.1添加更多条件
p3-1-2 (p28): 3.1.2if/else嵌套语句
p3-1-3 (p29): 3.1.3更优雅的条件语句
p3-2 (p33): 3.2range
p3-3 (p34): 3.3when表达式
p3-4 (p36): 3.4string模板
p3-5 (p37): 3.5挑战练习:range研究
p3-6 (p38): 3.6挑战练习:优化玩家光环展示
p3-7 (p38): 3.7挑战练习:可配置的玩家状况报告格式
p4 (p40): 第4章 函数
p4-1 (p40): 4.1使用函数重构代码
p4-2 (p42): 4.2函数结构剖析
p4-2-1 (p42): 4.2.1函数头
p4-2-2 (p44): 4.2.2函数体
p4-2-3 (p45): 4.2.3函数作用域
p4-3 (p46): 4.3调用函数
p4-4 (p46): 4.4以函数重构代码
p4-5 (p48): 4.5自定义函数
p4-6 (p49): 4.6默认值参
p4-7 (p50): 4.7单表达式函数
p4-8 (p51): 4.8Unit函数
p4-9 (p52): 4.9具名函数参数
p4-10 (p53): 4.10深入学习:Nothing类型
p4-11 (p54): 4.11深入学习:Java中的文件级函数
p4-12 (p55): 4.12深入学习:函数重载
p4-13 (p56): 4.13深入学习:反引号中的函数名
p4-14 (p57): 4.14挑战练习:单表达式函数
p4-15 (p57): 4.15挑战练习:Fireball醉酒程度
p4-16 (p57): 4.16挑战练习:醉酒状态报告
p5 (p58): 第5章 匿名函数与函数类型
p5-1 (p58): 5.1匿名函数
p5-1-1 (p59): 5.1.1函数类型
p5-1-2 (p60): 5.1.2隐式返回
p5-1-3 (p61): 5.1.3函数参数
p5-1-4 (p61): 5.1.4it关键字
p5-1-5 (p62): 5.1.5多个参数
p5-2 (p63): 5.2类型推断
p5-3 (p63): 5.3定义参数是函数的函数
p5-4 (p65): 5.4函数内联
p5-5 (p66): 5.5函数引用
p5-6 (p68): 5.6函数类型作为返回类型
p5-7 (p69): 5.7深入学习:Kotlin中的lambda就是闭包
p5-8 (p69): 5.8深入学习:lambda与匿名内部类
p6 (p71): 第6章 null安全与异常
p6-1 (p71): 6.1可空性
p6-2 (p72): 6.2Kotlin的null类型
p6-3 (p73): 6.3编译时间与运行时间
p6-4 (p74): 6.4null安全
p6-4-1 (p75): 6.4.1选项一:安全调用操作符
p6-4-2 (p76): 6.4.2选项二:使用!!.操作符
p6-4-3 (p77): 6.4.3选项三:使用if判断null值情况
p6-5 (p79): 6.5异常
p6-5-1 (p80): 6.5.1抛出异常
p6-5-2 (p81): 6.5.2自定义异常
p6-5-3 (p82): 6.5.3处理异常
p6-6 (p83): 6.6先决条件函数
p6-7 (p85): 6.7null:真的一无是处吗
p6-8 (p86): 6.8深入学习:已检查异常与未检查异常
p6-9 (p86): 6.9深入学习:可空性该如何保证
p7 (p88): 第7章 字符串
p7-1 (p88): 7.1字符串截取
p7-1-1 (p88): 7.1.1substring
p7-1-2 (p90): 7.1.2split
p7-2 (p92): 7.2字符串操作
p7-3 (p93): 7.3字符串比较
p7-4 (p95): 7.4深入学习:Unicode
p7-5 (p95): 7.5深入学习:遍历字符
p7-6 (p96): 7.6挑战练习:改进toDragonSpeak函数
p8 (p97): 第8章 数
p8-1 (p97): 8.1数字类型
p8-2 (p98): 8.2整数
p8-3 (p99): 8.3小数数字
p8-4 (p100): 8.4字符串转数值类型
p8-5 (p101): 8.5Int类型转Double类型
p8-6 (p102): 8.6Double类型格式化
p8-7 (p103): 8.7Double类型转换为Int类型
p8-8 (p104): 8.8深入学习:位运算
p8-9 (p105): 8.9挑战练习:还剩多少酒
p8-10 (p105): 8.10挑战练习:解决负数余额问题
p8-11 (p105): 8.11挑战练习:龙币
p9 (p106): 第9章 标准库函数
p9-1 (p106): 9.1apply
p9-2 (p107): 9.2let
p9-3 (p108): 9.3run
p9-4 (p109): 9.4with
p9-5 (p109): 9.5also
p9-6 (p110): 9.6takeIf
p9-7 (p110): 9.7使用标准库函数
p10 (p112): 第10章 List与Set
p10-1 (p112): 10.1List
p10-1-1 (p113): 10.1.1获取列表元素
p10-1-2 (p116): 10.1.2更改列表内容
p10-2 (p119): 10.2遍历
p10-3 (p122): 10.3将文件数据读取到列表
p10-4 (p124): 10.4解构
p10-5 (p124): 10.5Set
p10-5-1 (p124): 10.5.1创建一个Set集合
p10-5-2 (p125): 10.5.2向Set集合中添加元素
p10-6 (p128): 10.6while循环
p10-7 (p129): 10.7break表达式
p10-8 (p129): 10.8集合转换
p10-9 (p130): 10.9深入学习:数组类型
p10-10 (p131): 10.10深入学习:只读与不可变
p10-11 (p132): 10.11挑战练习:美化酒水单
p10-12 (p132): 10.12挑战练习:进一步美化酒水单
p11 (p133): 第11章 Map
p11-1 (p133): 11.1创建一个Map
p11-2 (p135): 11.2读取Map集合的值
p11-3 (p136): 11.3向Map集合添加项
p11-4 (p137): 11.4修改Map集合值
p11-5 (p140): 11.5挑战练习:守卫小客栈
p12 (p141): 第12章 定义类
p12-1 (p141): 12.1定义一个类
p12-2 (p141): 12.2构造实例
p12-3 (p142): 12.3类函数
p12-4 (p143): 12.4可见性与封装
p12-5 (p144): 12.5类属性
p12-5-1 (p146): 12.5.1属性getter与setter
p12-5-2 (p148): 12.5.2属性可见性
p12-5-3 (p149): 12.5.3计算属性
p12-6 (p149): 12.6重构NyetHack
p12-7 (p156): 12.7使用包
p12-8 (p157): 12.8深入学习:细看var与val属性
p12-9 (p160): 12.9深入学习:防范竞态条件
p12-10 (p161): 12.10深入学习:私有包
p13 (p162): 第13章 初始化
p13-1 (p162): 13.1构造函数
p13-1-1 (p163): 13.1.1主构造函数
p13-1-2 (p164): 13.1.2在主构造函数里定义属性
p13-1-3 (p164): 13.1.3次构造函数
p13-1-4 (p166): 13.1.4默认参数
p13-1-5 (p167): 13.1.5命名参数
p13-2 (p167): 13.2初始化块
p13-3 (p168): 13.3属性初始化
p13-4 (p170): 13.4初始化顺序
p13-5 (p172): 13.5延迟初始化
p13-5-1 (p172): 13.5.1延迟初始化
p13-5-2 (p173): 13.5.2惰性初始化
p13-6 (p174): 13.6深入学习:初始化陷阱
p13-7 (p176): 13.7挑战练习:圣剑之谜
p14 (p178): 第14章 继承
p14-1 (p178): 14.1定义Room类
p14-2 (p179): 14.2创建子类
p14-3 (p184): 14.3类型检测
p14-4 (p186): 14.4Kotlin类层次
p14-4-1 (p187): 14.4.1类型转换
p14-4-2 (p188): 14.4.2智能类型转换
p14-5 (p189): 14.5深入学习:Any
p15 (p190): 第15章 对象
p15-1 (p190): 15.1object关键字
p15-1-1 (p190): 15.1.1对象声明
p15-1-2 (p195): 15.1.2对象表达式
p15-1-3 (p195): 15.1.3伴生对象
p15-2 (p196): 15.2嵌套类
p15-3 (p199): 15.3数据类
p15-3-1 (p200): 15.3.1toString
p15-3-2 (p200): 15.3.2equals
p15-3-3 (p200): 15.3.3copy
p15-3-4 (p201): 15.3.4解构声明
p15-4 (p202): 15.4枚举类
p15-5 (p203): 15.5运算符重载
p15-6 (p205): 15.6探索NyetHack游戏世界
p15-7 (p208): 15.7深入学习:定义结构比较
p15-8 (p210): 15.8深入学习:代数数据类型
p15-9 (p211): 15.9挑战练习:“quit”命令
p15-10 (p212): 15.10挑战练习:魔力地图
p15-11 (p212): 15.11挑战练习:摇铃
p16 (p213): 第16章 接口与抽象类
p16-1 (p213): 16.1定义接口
p16-2 (p214): 16.2实现接口
p16-3 (p216): 16.3默认实现
p16-4 (p217): 16.4抽象类
p16-5 (p219): 16.5在NyetHack游戏里打怪
p17 (p223): 第17章 泛型
p17-1 (p223): 17.1定义泛型类
p17-2 (p224): 17.2泛型函数
p17-3 (p225): 17.3多泛型参数
p17-4 (p227): 17.4泛型约束
p17-5 (p228): 17.5vararg关键字与get函数
p17-6 (p230): 17.6in与out
p17-7 (p234): 17.7深入学习:reified关键字
p18 (p236): 第18章 扩展
p18-1 (p236): 18.1定义扩展函数
p18-2 (p237): 18.2泛型扩展函数
p18-3 (p239): 18.3扩展属性
p18-4 (p240): 18.4可空类扩展
p18-5 (p241): 18.5扩展实现揭秘
p18-6 (p241): 18.6用扩展封装代码
p18-7 (p243): 18.7定义扩展文件
p18-8 (p245): 18.8重命名扩展
p18-9 (p245): 18.9Kotlin标准库中的扩展
p18-10 (p246): 18.10深人学习:带接收者的函数字面量
p18-11 (p247): 18.11挑战练习:toDragonSpeak扩展
p18-12 (p247): 18.12挑战练习:frame扩展
p19 (p248): 第19章 函数式编程基础
p19-1 (p248): 19.1函数类别
p19-1-1 (p248): 19.1.1变换
p19-1-2 (p250): 19.1.2过滤
p19-1-3 (p251): 19.1.3合并
p19-2 (p252): 19.2为什么要学习函数式编程
p19-3 (p253): 19.3序列
p19-4 (p254): 19.4深入学习:评估代码性能
p19-5 (p255): 19.5深入学习:Arrow.kt
p19-6 (p255): 19.6挑战练习:Map值反转
p19-7 (p256): 19.7挑战练习:应用函数式编程
p19-8 (p257): 19.8挑战练习:滑窗算法
p20 (p258): 第20章 Kotlin与Java互操作
p20-1 (p258): 20.1与Java类互操作
p20-2 (p259): 20.2互操作性与可空性
p20-3 (p262): 20.3类型映射
p20-4 (p263): 20.4getter和setter方法与互操作性
p20-5 (p265): 20.5类之外
p20-6 (p272): 20.6异常与互操作性
p20-7 (p275): 20.7Java中的函数类型
p21 (p277): 第21章 用Kotlin开发首个Android应用
p21-1 (p277): 21.1Android Studio
p21-1-1 (p281): 21.1.1Gradle配置
p21-1-2 (p283): 21.1.2项目组织
p21-2 (p283): 21.2定义UI
p21-3 (p286): 21.3用模拟器运行应用
p21-4 (p287): 21.4生成角色
p21-5 (p288): 21.5Activity类
p21-6 (p289): 21.6实例化视图
p21-7 (p291): 21.7Kotlin Android扩展
p21-8 (p293): 21.8设置单击事件监听器
p21-9 (p294): 21.9保存实例状态
p21-10 (p296): 21.10使用扩展重构代码
p21-11 (p298): 21.11深入学习:Android KTX与Anko库
p22 (p300): 第22章 Kotlin协程简介
p22-1 (p300): 22.1解析角色数据
p22-2 (p302): 22.2获取动态数据
p22-3 (p305): 22.3Android主线程
p22-4 (p305): 22.4启用协程
p22-5 (p305): 22.5使用async指定协程
p22-6 (p307): 22.6launch与async/await
p22-7 (p307): 22.7挂起函数
p22-8 (p308): 22.8挑战练习:动态数据
p22-9 (p308): 22.9挑战练习:最小力量值
p23 (p309): 第23章 编后语
p23-1 (p309): 23.1前方的路
p23-2 (p309): 23.2插个广告
p23-3 (p309): 23.3致谢
p24 (p310): 附录A 补充挑战练习
p25 (p316): 术语表
p1-1 (p1): 1.1安装IntelliJ IDEA
p1-2 (p2): 1.2第一个Kotlin项目
p1-2-1 (p5): 1.2.1创建首个Kotlin文件
p1-2-2 (p7): 1.2.2运行Kotlin文件
p1-3 (p8): 1.3Kotlin REPL
p1-4 (p10): 1.4深入学习:为什么要用IntelliJ
p1-5 (p10): 1.5深入学习:面向JVM
p1-6 (p11): 1.6挑战练习:使用REPL研究Kotlin中的算数运算符
p2 (p12): 第2章 变量、常量和类型
p2-1 (p12): 2.1数据类型
p2-2 (p12): 2.2声明变量
p2-3 (p14): 2.3Kotlin的内置数据类型
p2-4 (p15): 2.4只读变量
p2-5 (p17): 2.5类型推断
p2-6 (p19): 2.6编译时常量
p2-7 (p19): 2.7查看Kotlin字节码
p2-8 (p21): 2.8深入学习:Kotlin中的Java基本数据类型
p2-9 (p22): 2.9挑战练习:定义hasSteed变量
p2-10 (p22): 2.10挑战练习:独角兽之角
p2-11 (p23): 2.11挑战练习:魔镜
p3 (p24): 第3章 条件语句
p3-1 (p24): 3.1if/else语句
p3-1-1 (p27): 3.1.1添加更多条件
p3-1-2 (p28): 3.1.2if/else嵌套语句
p3-1-3 (p29): 3.1.3更优雅的条件语句
p3-2 (p33): 3.2range
p3-3 (p34): 3.3when表达式
p3-4 (p36): 3.4string模板
p3-5 (p37): 3.5挑战练习:range研究
p3-6 (p38): 3.6挑战练习:优化玩家光环展示
p3-7 (p38): 3.7挑战练习:可配置的玩家状况报告格式
p4 (p40): 第4章 函数
p4-1 (p40): 4.1使用函数重构代码
p4-2 (p42): 4.2函数结构剖析
p4-2-1 (p42): 4.2.1函数头
p4-2-2 (p44): 4.2.2函数体
p4-2-3 (p45): 4.2.3函数作用域
p4-3 (p46): 4.3调用函数
p4-4 (p46): 4.4以函数重构代码
p4-5 (p48): 4.5自定义函数
p4-6 (p49): 4.6默认值参
p4-7 (p50): 4.7单表达式函数
p4-8 (p51): 4.8Unit函数
p4-9 (p52): 4.9具名函数参数
p4-10 (p53): 4.10深入学习:Nothing类型
p4-11 (p54): 4.11深入学习:Java中的文件级函数
p4-12 (p55): 4.12深入学习:函数重载
p4-13 (p56): 4.13深入学习:反引号中的函数名
p4-14 (p57): 4.14挑战练习:单表达式函数
p4-15 (p57): 4.15挑战练习:Fireball醉酒程度
p4-16 (p57): 4.16挑战练习:醉酒状态报告
p5 (p58): 第5章 匿名函数与函数类型
p5-1 (p58): 5.1匿名函数
p5-1-1 (p59): 5.1.1函数类型
p5-1-2 (p60): 5.1.2隐式返回
p5-1-3 (p61): 5.1.3函数参数
p5-1-4 (p61): 5.1.4it关键字
p5-1-5 (p62): 5.1.5多个参数
p5-2 (p63): 5.2类型推断
p5-3 (p63): 5.3定义参数是函数的函数
p5-4 (p65): 5.4函数内联
p5-5 (p66): 5.5函数引用
p5-6 (p68): 5.6函数类型作为返回类型
p5-7 (p69): 5.7深入学习:Kotlin中的lambda就是闭包
p5-8 (p69): 5.8深入学习:lambda与匿名内部类
p6 (p71): 第6章 null安全与异常
p6-1 (p71): 6.1可空性
p6-2 (p72): 6.2Kotlin的null类型
p6-3 (p73): 6.3编译时间与运行时间
p6-4 (p74): 6.4null安全
p6-4-1 (p75): 6.4.1选项一:安全调用操作符
p6-4-2 (p76): 6.4.2选项二:使用!!.操作符
p6-4-3 (p77): 6.4.3选项三:使用if判断null值情况
p6-5 (p79): 6.5异常
p6-5-1 (p80): 6.5.1抛出异常
p6-5-2 (p81): 6.5.2自定义异常
p6-5-3 (p82): 6.5.3处理异常
p6-6 (p83): 6.6先决条件函数
p6-7 (p85): 6.7null:真的一无是处吗
p6-8 (p86): 6.8深入学习:已检查异常与未检查异常
p6-9 (p86): 6.9深入学习:可空性该如何保证
p7 (p88): 第7章 字符串
p7-1 (p88): 7.1字符串截取
p7-1-1 (p88): 7.1.1substring
p7-1-2 (p90): 7.1.2split
p7-2 (p92): 7.2字符串操作
p7-3 (p93): 7.3字符串比较
p7-4 (p95): 7.4深入学习:Unicode
p7-5 (p95): 7.5深入学习:遍历字符
p7-6 (p96): 7.6挑战练习:改进toDragonSpeak函数
p8 (p97): 第8章 数
p8-1 (p97): 8.1数字类型
p8-2 (p98): 8.2整数
p8-3 (p99): 8.3小数数字
p8-4 (p100): 8.4字符串转数值类型
p8-5 (p101): 8.5Int类型转Double类型
p8-6 (p102): 8.6Double类型格式化
p8-7 (p103): 8.7Double类型转换为Int类型
p8-8 (p104): 8.8深入学习:位运算
p8-9 (p105): 8.9挑战练习:还剩多少酒
p8-10 (p105): 8.10挑战练习:解决负数余额问题
p8-11 (p105): 8.11挑战练习:龙币
p9 (p106): 第9章 标准库函数
p9-1 (p106): 9.1apply
p9-2 (p107): 9.2let
p9-3 (p108): 9.3run
p9-4 (p109): 9.4with
p9-5 (p109): 9.5also
p9-6 (p110): 9.6takeIf
p9-7 (p110): 9.7使用标准库函数
p10 (p112): 第10章 List与Set
p10-1 (p112): 10.1List
p10-1-1 (p113): 10.1.1获取列表元素
p10-1-2 (p116): 10.1.2更改列表内容
p10-2 (p119): 10.2遍历
p10-3 (p122): 10.3将文件数据读取到列表
p10-4 (p124): 10.4解构
p10-5 (p124): 10.5Set
p10-5-1 (p124): 10.5.1创建一个Set集合
p10-5-2 (p125): 10.5.2向Set集合中添加元素
p10-6 (p128): 10.6while循环
p10-7 (p129): 10.7break表达式
p10-8 (p129): 10.8集合转换
p10-9 (p130): 10.9深入学习:数组类型
p10-10 (p131): 10.10深入学习:只读与不可变
p10-11 (p132): 10.11挑战练习:美化酒水单
p10-12 (p132): 10.12挑战练习:进一步美化酒水单
p11 (p133): 第11章 Map
p11-1 (p133): 11.1创建一个Map
p11-2 (p135): 11.2读取Map集合的值
p11-3 (p136): 11.3向Map集合添加项
p11-4 (p137): 11.4修改Map集合值
p11-5 (p140): 11.5挑战练习:守卫小客栈
p12 (p141): 第12章 定义类
p12-1 (p141): 12.1定义一个类
p12-2 (p141): 12.2构造实例
p12-3 (p142): 12.3类函数
p12-4 (p143): 12.4可见性与封装
p12-5 (p144): 12.5类属性
p12-5-1 (p146): 12.5.1属性getter与setter
p12-5-2 (p148): 12.5.2属性可见性
p12-5-3 (p149): 12.5.3计算属性
p12-6 (p149): 12.6重构NyetHack
p12-7 (p156): 12.7使用包
p12-8 (p157): 12.8深入学习:细看var与val属性
p12-9 (p160): 12.9深入学习:防范竞态条件
p12-10 (p161): 12.10深入学习:私有包
p13 (p162): 第13章 初始化
p13-1 (p162): 13.1构造函数
p13-1-1 (p163): 13.1.1主构造函数
p13-1-2 (p164): 13.1.2在主构造函数里定义属性
p13-1-3 (p164): 13.1.3次构造函数
p13-1-4 (p166): 13.1.4默认参数
p13-1-5 (p167): 13.1.5命名参数
p13-2 (p167): 13.2初始化块
p13-3 (p168): 13.3属性初始化
p13-4 (p170): 13.4初始化顺序
p13-5 (p172): 13.5延迟初始化
p13-5-1 (p172): 13.5.1延迟初始化
p13-5-2 (p173): 13.5.2惰性初始化
p13-6 (p174): 13.6深入学习:初始化陷阱
p13-7 (p176): 13.7挑战练习:圣剑之谜
p14 (p178): 第14章 继承
p14-1 (p178): 14.1定义Room类
p14-2 (p179): 14.2创建子类
p14-3 (p184): 14.3类型检测
p14-4 (p186): 14.4Kotlin类层次
p14-4-1 (p187): 14.4.1类型转换
p14-4-2 (p188): 14.4.2智能类型转换
p14-5 (p189): 14.5深入学习:Any
p15 (p190): 第15章 对象
p15-1 (p190): 15.1object关键字
p15-1-1 (p190): 15.1.1对象声明
p15-1-2 (p195): 15.1.2对象表达式
p15-1-3 (p195): 15.1.3伴生对象
p15-2 (p196): 15.2嵌套类
p15-3 (p199): 15.3数据类
p15-3-1 (p200): 15.3.1toString
p15-3-2 (p200): 15.3.2equals
p15-3-3 (p200): 15.3.3copy
p15-3-4 (p201): 15.3.4解构声明
p15-4 (p202): 15.4枚举类
p15-5 (p203): 15.5运算符重载
p15-6 (p205): 15.6探索NyetHack游戏世界
p15-7 (p208): 15.7深入学习:定义结构比较
p15-8 (p210): 15.8深入学习:代数数据类型
p15-9 (p211): 15.9挑战练习:“quit”命令
p15-10 (p212): 15.10挑战练习:魔力地图
p15-11 (p212): 15.11挑战练习:摇铃
p16 (p213): 第16章 接口与抽象类
p16-1 (p213): 16.1定义接口
p16-2 (p214): 16.2实现接口
p16-3 (p216): 16.3默认实现
p16-4 (p217): 16.4抽象类
p16-5 (p219): 16.5在NyetHack游戏里打怪
p17 (p223): 第17章 泛型
p17-1 (p223): 17.1定义泛型类
p17-2 (p224): 17.2泛型函数
p17-3 (p225): 17.3多泛型参数
p17-4 (p227): 17.4泛型约束
p17-5 (p228): 17.5vararg关键字与get函数
p17-6 (p230): 17.6in与out
p17-7 (p234): 17.7深入学习:reified关键字
p18 (p236): 第18章 扩展
p18-1 (p236): 18.1定义扩展函数
p18-2 (p237): 18.2泛型扩展函数
p18-3 (p239): 18.3扩展属性
p18-4 (p240): 18.4可空类扩展
p18-5 (p241): 18.5扩展实现揭秘
p18-6 (p241): 18.6用扩展封装代码
p18-7 (p243): 18.7定义扩展文件
p18-8 (p245): 18.8重命名扩展
p18-9 (p245): 18.9Kotlin标准库中的扩展
p18-10 (p246): 18.10深人学习:带接收者的函数字面量
p18-11 (p247): 18.11挑战练习:toDragonSpeak扩展
p18-12 (p247): 18.12挑战练习:frame扩展
p19 (p248): 第19章 函数式编程基础
p19-1 (p248): 19.1函数类别
p19-1-1 (p248): 19.1.1变换
p19-1-2 (p250): 19.1.2过滤
p19-1-3 (p251): 19.1.3合并
p19-2 (p252): 19.2为什么要学习函数式编程
p19-3 (p253): 19.3序列
p19-4 (p254): 19.4深入学习:评估代码性能
p19-5 (p255): 19.5深入学习:Arrow.kt
p19-6 (p255): 19.6挑战练习:Map值反转
p19-7 (p256): 19.7挑战练习:应用函数式编程
p19-8 (p257): 19.8挑战练习:滑窗算法
p20 (p258): 第20章 Kotlin与Java互操作
p20-1 (p258): 20.1与Java类互操作
p20-2 (p259): 20.2互操作性与可空性
p20-3 (p262): 20.3类型映射
p20-4 (p263): 20.4getter和setter方法与互操作性
p20-5 (p265): 20.5类之外
p20-6 (p272): 20.6异常与互操作性
p20-7 (p275): 20.7Java中的函数类型
p21 (p277): 第21章 用Kotlin开发首个Android应用
p21-1 (p277): 21.1Android Studio
p21-1-1 (p281): 21.1.1Gradle配置
p21-1-2 (p283): 21.1.2项目组织
p21-2 (p283): 21.2定义UI
p21-3 (p286): 21.3用模拟器运行应用
p21-4 (p287): 21.4生成角色
p21-5 (p288): 21.5Activity类
p21-6 (p289): 21.6实例化视图
p21-7 (p291): 21.7Kotlin Android扩展
p21-8 (p293): 21.8设置单击事件监听器
p21-9 (p294): 21.9保存实例状态
p21-10 (p296): 21.10使用扩展重构代码
p21-11 (p298): 21.11深入学习:Android KTX与Anko库
p22 (p300): 第22章 Kotlin协程简介
p22-1 (p300): 22.1解析角色数据
p22-2 (p302): 22.2获取动态数据
p22-3 (p305): 22.3Android主线程
p22-4 (p305): 22.4启用协程
p22-5 (p305): 22.5使用async指定协程
p22-6 (p307): 22.6launch与async/await
p22-7 (p307): 22.7挂起函数
p22-8 (p308): 22.8挑战练习:动态数据
p22-9 (p308): 22.9挑战练习:最小力量值
p23 (p309): 第23章 编后语
p23-1 (p309): 23.1前方的路
p23-2 (p309): 23.2插个广告
p23-3 (p309): 23.3致谢
p24 (p310): 附录A 补充挑战练习
p25 (p316): 术语表
备用描述
本书由知名培训机构Big Nerd Ranch打造,秉承其一贯的简洁,实用的写作风格.Kotlin已成为Android官方支持的开发语言,但它具有平台独立性,亦可用于开发各种类型的原生应用.本书将带领你循序渐进地掌握Kotlin的用法,从较为基础的变量,常量,类型等讲起,逐渐深入到继承,对象和抽象类.最后是函数式编程,Kotlin与Java互操作,构建Android应用等较复杂的内容
开源日期
2021-11-15
🚀 快速下载
成为会员以支持书籍、论文等的长期保存。为了感谢您对我们的支持,您将获得高速下载权益。❤️
如果您在本月捐款,您将获得双倍的快速下载次数。
🐢 低速下载
由可信的合作方提供。 更多信息请参见常见问题解答。 (可能需要验证浏览器——无限次下载!)
- 低速服务器(合作方提供) #1 (稍快但需要排队)
- 低速服务器(合作方提供) #2 (稍快但需要排队)
- 低速服务器(合作方提供) #3 (稍快但需要排队)
- 低速服务器(合作方提供) #4 (稍快但需要排队)
- 低速服务器(合作方提供) #5 (无需排队,但可能非常慢)
- 低速服务器(合作方提供) #6 (无需排队,但可能非常慢)
- 低速服务器(合作方提供) #7 (无需排队,但可能非常慢)
- 低速服务器(合作方提供) #8 (无需排队,但可能非常慢)
- 低速服务器(合作方提供) #9 (无需排队,但可能非常慢)
- 下载后: 在我们的查看器中打开
所有选项下载的文件都相同,应该可以安全使用。即使这样,从互联网下载文件时始终要小心。例如,确保您的设备更新及时。
外部下载
-
对于大文件,我们建议使用下载管理器以防止中断。
推荐的下载管理器:JDownloader -
您将需要一个电子书或 PDF 阅读器来打开文件,具体取决于文件格式。
推荐的电子书阅读器:Anna的档案在线查看器、ReadEra和Calibre -
使用在线工具进行格式转换。
推荐的转换工具:CloudConvert和PrintFriendly -
您可以将 PDF 和 EPUB 文件发送到您的 Kindle 或 Kobo 电子阅读器。
推荐的工具:亚马逊的“发送到 Kindle”和djazz 的“发送到 Kobo/Kindle” -
支持作者和图书馆
✍️ 如果您喜欢这个并且能够负担得起,请考虑购买原版,或直接支持作者。
📚 如果您当地的图书馆有这本书,请考虑在那里免费借阅。
下面的文字仅以英文继续。
总下载量:
“文件的MD5”是根据文件内容计算出的哈希值,并且基于该内容具有相当的唯一性。我们这里索引的所有影子图书馆都主要使用MD5来标识文件。
一个文件可能会出现在多个影子图书馆中。有关我们编译的各种数据集的信息,请参见数据集页面。
有关此文件的详细信息,请查看其JSON 文件。 Live/debug JSON version. Live/debug page.