Hacklink

Hacklink Panel

Hacklink panel

Hacklink

Hacklink panel

Backlink paketleri

Hacklink Panel

Hacklink

Hacklink

Hacklink

Hacklink panel

Hacklink

Hacklink

Hacklink

Hacklink

Hacklink panel

Eros Maç Tv

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink satın al

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Illuminati

Hacklink

Hacklink Panel

Hacklink

Hacklink Panel

Hacklink panel

Hacklink Panel

Hacklink

Masal oku

Hacklink

Hacklink

Hacklink

Hacklink

Hacklink

Hacklink

Hacklink

Hacklink panel

Postegro

Masal Oku

Hacklink

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink

Hacklink

Hacklink

Hacklink

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink

Hacklink

Hacklink Panel

Hacklink

websiteseochecker

Hacklink

Hacklink

Buy Hacklink

Hacklink

Hacklink

Hacklink

Hacklink satın al

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink

Masal Oku

Hacklink panel

Hacklink

Hacklink

หวยออนไลน์

Hacklink

Hacklink satın al

Hacklink Panel

spam

pulibet giriş

meritking

casibom

Hacklink satın al

Hacklink

betvole

betlike

betlike giriş

kingroyal

kingroyal giriş

interbahis

interbahis giriş

galabet

galabet giriş

betebet

betebet giriş

lunabet

betcup

betcup giriş

meritking

meritking giriş

safirbet

safirbet giriş

betcup

betcup giriş

galabet

kingroyal

holiganbet

holiganbet giriş

interbahis

meybet

meybet giriş

gizabet

perabet

anadoluslot

klasbahis

pulibet

İzmir Escort

İzmir Escort

İzmir Escort

İzmir Escort

casibom

casibom

casibom

casibom

最新公告
  • 开通终身SVIP,享全站不限量下载次数-云资源-集成各类网络资源-正在更新中-预计更新到5W+文章开通SVIP
  • 文章介绍
  • 评价建议
  • 资源名称:Kotlin实战

    内容简介:

    《Kotlin 实战》将从语言的基本特性开始,逐渐覆盖其更多的高级特性,尤其注重讲解如何将 Koltin 集成到已有 Java 工程实践及其背后的原理。本书分为两个部分。第一部分讲解如何开始使用 Kotlin 现有的库和API,包括基本语法、扩展函数和扩展属性、数据类和伴生对象、lambda 表达式,以及数据类型系统(着重讲解了可空性和集合的概念)。第二部分教你如何使用 Kotlin 构建自己的 API,以及一些深层次特性——约定和委托属性、高阶函数、泛型、注解和反射,以及领域特定语言的构建。《Kotlin 实战》适合广大移动开发者及入门学习者,尤其是紧跟主流趋势的前沿探索者。

    资源目录:

    第 1 部分 Kotlin 简介 1

    1 Kotlin :定义和目的 3

    1.1 Kotlin 初体验 3

    1.2 Kotlin 的主要特征4

    1.2.1 目标平台 :服务器端、Android 及任何 Java 运行的地方 4

    1.2.2 静态类型5

    1.2.3 函数式和面向对象 6

    1.2.4 免费并开源 7

    1.3 Kotlin 应用8

    1.3.1 服务器端的 Kotlin8

    1.3.2 Android 上的 Kotlin 9

    1.4 Kotlin 的设计哲学 10

    1.4.1 务实10

    1.4.2 简洁 11

    1.4.3 安全12

    1.4.4 互操作性 13

    1.5 使用 Kotlin 工具 14

    1.5.1 编译 Kotlin 代码 14

    1.5.2 IntelliJ IDEA 和 Android Studio 插件 15

    1.5.3 交互式 shell15

    1.5.4 Eclipse 插件 15

    1.5.5 在线 playground 15

    1.5.6 Java 到 Kotlin 的转换器 16

    1.6 小结16

    2 Kotlin 基础 17

    2.1 基本要素 :函数和变量 17

    2.1.1 Hello,world!18

    2.1.2 函数18

    2.1.3 变量20

    2.1.4 更简单的字符串格式化 :字符串模板 22

    2.2 类和属性 23

    2.2.1 属性24

    2.2.2 自定义访问器 25

    2.2.3 Kotlin 源码布局 :目录和包26

    2.3 表示和处理选择 :枚举和“when” 28

    2.3.1 声明枚举类28

    2.3.2 使用“when”处理枚举类 29

    2.3.3 在“when”结构中使用任意对象 30

    2.3.4 使用不带参数的“when” 31

    2.3.5 智能转换 :合并类型检查和转换32

    2.3.6 重构 :用“when”代替“if” 34

    2.3.7 代码块作为“if”和“when”的分支 35

    2.4 迭代事物 :“while”循环和“for”循环 36

    2.4.1 “while”循环36

    2.4.2 迭代数字 :区间和数列 37

    2.4.3 迭代 map 38

    2.4.4 使用“in”检查集合和区间的成员39

    2.5 Kotlin 中的异常 41

    2.5.1 “try”“catch”和“finally” 41

    2.5.2 “try”作为表达式 42

    2.6 小结44

    3 函数的定义与调用 45

    3.1 在 Kotlin 中创建集合 45

    3.2 让函数更好调用 47

    3.2.1 命名参数 48

    3.2.2 默认参数值49

    3.2.3 消除静态工具类 :顶层函数和属性 50

    3.3 给别人的类添加方法 :扩展函数和属性53

    3.3.1 导入和扩展函数 54

    3.3.2 从 Java 中调用扩展函数54

    3.3.3 作为扩展函数的工具函数55

    3.3.4 不可重写的扩展函数 56

    3.3.5 扩展属性 58

    3.4 处理集合 :可变参数、中缀调用和库的支持 59

    3.4.1 扩展 Java 集合的 API 59

    3.4.2 可变参数 :让函数支持任意数量的参数60

    3.4.3 键值对的处理 :中缀调用和解构声明 60

    3.5 字符串和正则表达式的处理 62

    3.5.1 分割字符串62

    3.5.2 正则表达式和三重引号的字符串63

    3.5.3 多行三重引号的字符串 64

    3.6 让你的代码更整洁 :局部函数和扩展 66

    3.7 小结68

    4 类、对象和接口 69

    4.1 定义类继承结构 70

    4.1.1 Kotlin 中的接口 70

    4.1.2 open、final 和 abstract 修饰符 :默认为 final72

    4.1.3 可见性修饰符 :默认为 public 75

    4.1.4 内部类和嵌套类 :默认是嵌套类76

    4.1.5 密封类 :定义受限的类继承结构79

    4.2 声明一个带非默认构造方法或属性的类80

    4.2.1 初始化类 :主构造方法和初始化语句块80

    4.2.2 构造方法 :用不同的方式来初始化父类83

    4.2.3 实现在接口中声明的属性85

    4.2.4 通过 getter 或 setter 访问支持字段 87

    4.2.5 修改访问器的可见性 88

    4.3 编译器生成的方法 :数据类和类委托 89

    4.3.1 通用对象方法 89

    4.3.2 数据类 :自动生成通用方法的实现 92

    4.3.3 类委托 :使用“by”关键字 93

    4.4 “object”关键字 :将声明一个类与创建一个实例结合起来95

    4.4.1 对象声明 :创建单例易如反掌 95

    4.4.2 伴生对象 :工厂方法和静态成员的地盘98

    4.4.3 作为普通对象使用的伴生对象 100

    4.4.4 对象表达式 :改变写法的匿名内部类 102

    4.5 小结 104

    5 Lambda 编程 105

    5.1 Lambda 表达式和成员引用 105

    5.1.1 Lambda 简介 :作为函数参数的代码块106

    5.1.2 Lambda 和集合 107

    5.1.3 Lambda 表达式的语法 108

    5.1.4 在作用域中访问变量 111

    5.1.5 成员引用 114

    5.2 集合的函数式 API 116

    5.2.1 基础 :filter 和 map 116

    5.2.2 “all”“any”“count”和“find”: 对集合应用判断式 118

    5.2.3 groupBy :把列表转换成分组的 map 119

    5.2.4 flatMap 和 flatten :处理嵌套集合中的元素120

    5.3 惰性集合操作 :序列121

    5.3.1 执行序列操作 :中间和末端操作 123

    5.3.2 创建序列 125

    5.4 使用 Java 函数式接口 126

    5.4.1 把 lambda 当作参数传递给 Java 方法127

    5.4.2 SAM 构造方法 :显式地把 lambda 转换成函数式接口 129

    5.5 带接收者的 lambda :“with”与“apply”131

    5.5.1 “with”函数131

    5.5.2 “apply”函数 133

    5.6 小结 135

    6 Kotlin 的类型系统137

    6.1 可空性137

    6.1.1 可空类型 138

    6.1.2 类型的含义 140

    6.1.3 安全调用运算符 :“?:”141

    6.1.4 Elvis 运算符 :“?:” 143

    6.1.5 安全转换 :“as?” 145

    6.1.6 非空断言 :“!!”146

    6.1.7 “let”函数148

    6.1.8 延迟初始化的属性 149

    6.1.9 可空类性的扩展 151

    6.1.10 类型参数的可空性 153

    6.1.11 可空性和 Java 153

    6.2 基本数据类型和其他基本类型 157

    6.2.1 基本数据类型 :Int、Boolean 及其他158

    6.2.2 可空的基本数据类型 :Int?、Boolean? 及其他159

    6.2.3 数字转换 160

    6.2.4 “Any”和“Any?”:根类型 162

    6.2.5 Unit 类型 :Kotlin 的“void”163

    6.2.6 Nothing 类型 :“这个函数永不返回” 164

    6.3 集合与数组 164

    6.3.1 可空性和集合165

    6.3.2 只读集合与可变集合167

    6.3.3 Kotlin 集合和 Java 168

    6.3.4 作为平台类型的集合171

    6.3.5 对象和基本数据类型的数组173

    6.4 小结 175

    第 2 部分 拥抱 Kotlin 177

    7 运算符重载及其他约定179

    7.1 重载算术运算符 180

    7.1.1 重载二元算术运算 180

    7.1.2 重载复合赋值运算符183

    7.1.3 重载一元运算符 184

    7.2 重载比较运算符 186

    7.2.1 等号运算符 :“equals" 186

    7.2.2 排序运算符 :compareTo187

    7.3 集合与区间的约定 188

    7.3.1 通过下标来访问元素 :“get”和“set” 188

    7.3.2 “in”的约定190

    7.3.3 rangeTo 的约定 191

    7.3.4 在“for”循环中使用“iterator”的约定 192

    7.4 解构声明和组件函数193

    7.4.1 解构声明和循环 194

    7.5 重用属性访问的逻辑 :委托属性 195

    7.5.1 委托属性的基本操作196

    7.5.2 使用委托属性 :惰性初始化和“by lazy()”197

    7.5.3 实现委托属性198

    7.5.4 委托属性的变换规则202

    7.5.5 在 map 中保存属性值 203

    7.5.6 框架中的委托属性 204

    7.6 小结 205

    8 高阶函数 :Lambda 作为形参和返回值 207

    8.1 声明高阶函数207

    8.1.1 函数类型 208

    8.1.2 调用作为参数的函数209

    8.1.3 在 Java 中使用函数类 211

    8.1.4 函数类型的参数默认值和 null 值 212

    8.1.5 返回函数的函数 214

    8.1.6 通过 lambda 去除重复代码 216

    8.2 内联函数 :消除 lambda 带来的运行时开销218

    8.2.1 内联函数如何运作 219

    8.2.2 内联函数的限制 221

    8.2.3 内联集合操作222

    8.2.4 决定何时将函数声明成内联223

    8.2.5 使用内联 lambda 管理资源 223

    8.3 高阶函数中的控制流225

    8.3.1 lambda 中的返回语句 :从一个封闭的函数返回225

    8.3.2 从 lambda 返回 :使用标签返回226

    8.3.3 匿名函数 :默认使用局部返回 228

    8.4 小结 229

    9 泛型 231

    9.1 泛型类型参数232

    9.1.1 泛型函数和属性 232

    9.1.2 声明泛型类 234

    9.1.3 类型参数约束235

    9.1.4 让类型形参非空 237

    9.2 运行时的泛型 :擦除和实化类型参数 238

    9.2.1 运行时的泛型 :类型检查和转换 238

    9.2.2 声明带实化类型参数的函数241

    9.2.3 使用实化类型参数代替类引用 243

    9.2.4 实化类型参数的限制244

    9.3 变型 :泛型和子类型化 245

    9.3.1 为什么存在变型 :给函数传递实参245

    9.3.2 类、类型和子类型 246

    9.3.3 协变 :保留子类型化关系 248

    9.3.4 逆变 :反转子类型化关系 252

    9.3.5 使用点变型 :在类型出现的地方指定变型254

    9.3.6 星号投影 :使用 * 代替类型参数 257

    9.4 小结 261

    10 注解与反射 263

    10.1 声明并应用注解264

    10.1.1 应用注解264

    10.1.2 注解目标265

    10.1.3 使用注解定制 JSON 序列化 267

    10.1.4 声明注解269

    10.1.5 元注解 :控制如何处理一个注解 270

    10.1.6 使用类做注解参数 271

    10.1.7 使用泛型类做注解参数272

    10.2 反射 :在运行时对 Kotlin 对象进行自省 273

    10.2.1 Kotlin 反射 API :KClass、KCallable、KFunction 和KProperty 274

    10.2.2 用反射实现对象序列化278

    10.2.3 用注解定制序列化 279

    10.2.4 JSON 解析和对象反序列化283

    10.2.5 反序列化的最后一步 :callBy() 和使用反射创建对象 287

    10.3 小结 291

    11 DSL 构建 293

    11.1 从 API 到 DSL 293

    11.1.1 领域特定语言的概念 295

    11.1.2 内部 DSL296

    11.1.3 DSL 的结构 297

    11.1.4 使用内部 DSL 构建 HTML298

    11.2 构建结构化的 API:DSL 中带接收者的 lambda 299

    11.2.1 带接收者的 lambda 和扩展函数类型 299

    11.2.2 在 HTML 构建器中使用带接收者的 lambda 303

    11.2.3 Kotlin 构建器 :促成抽象和重用307

    11.3 使用“invoke”约定构建更灵活的代码块嵌套 310

    11.3.1 “invoke”约定 :像函数一样可以调用的对象 310

    11.3.2 “invoke”约定和函数式类型 311

    11.3.3 DSL 中的“invoke”约定 :在 Gradle 中声明依赖 312

    11.4 实践中的 Kotlin DSL 314

    11.4.1 把中缀调用链接起来 :测试框架中的“should” 314

    11.4.2 在基本数据类型上定义扩展 :处理日期 316

    11.4.3 成员扩展函数 :为 SQL 设计的内部 DSL317

    11.4.4 Anko :动态创建 Android UI 320

    11.5 小结 322

    A 构建 Kotlin 项目 323

    B Kotlin 代码的文档化 327

    C Kotlin 生态系统 331

    资源截图:

    1.png


    陌佑网云资源 » Kotlin实战

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
    找不到素材资源介绍文章里的示例图片?
    对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
    • 2会员总数(位)
    • 40993资源总数(个)
    • 0本周发布(个)
    • 0 今日发布(个)
    • 2180稳定运行(天)

    提供最优质的资源集合

    立即查看 了解详情