|
27 | 27 | ####[01 Kotlin 简介](http://v.qq.com/page/z/u/9/z0337i7a3u9.html)
|
28 | 28 |
|
29 | 29 | 简要介绍下什么是 Kotlin,新语言太多了,大家为什么要接触 Kotlin 呢?因为它除了长得与 Java 不太像以外,其他的都差不多~
|
| 30 | + |
30 | 31 |
|
31 | 32 | ####[02 Hello World](http://v.qq.com/page/h/n/m/h0337jfa5nm.html)
|
32 | 33 |
|
33 | 34 | 千里之行,始于Hello World!
|
| 35 | + |
34 | 36 |
|
35 | 37 | ####[03 使用Gradle编写程序简介(可选)](http://v.qq.com/page/b/p/l/b03372ox4pl.html)
|
36 | 38 |
|
37 | 39 | 这年头,写 Java 系的代码,不知道 Gradle 怎么行呢?
|
| 40 | + |
38 | 41 |
|
39 | 42 | ####[04 集合遍历 map](http://v.qq.com/page/s/q/c/s033707mdqc.html)
|
40 | 43 |
|
41 | 44 | 放下 i++,你不知道 map 已经占领世界了么?以前我以为 map-reduce 很牛逼,后来才知道就是数据迭代处理嘛。
|
| 45 | + |
42 | 46 |
|
43 | 47 | ####[05 集合扁平化 flatMap](http://v.qq.com/page/h/u/7/h0337scgau7.html)
|
44 | 48 |
|
45 | 49 | 这个可以说是 map 的一个加强版,返回的仍然是开一个可迭代的集合,用哪个您自己看需求~
|
| 50 | + |
46 | 51 |
|
47 | 52 | ####[06 枚举类型与When表达式](http://v.qq.com/page/t/0/9/t0337iacg09.html)
|
48 | 53 |
|
49 | 54 | Kotlin 丢掉了 switch,却引进了 when,这二者看上去极其相似,不过后者却要强大得多。至于枚举嘛,还是 Java 枚举的老样子。
|
50 | 55 |
|
| 56 | + |
51 | 57 | ####[07 在 RxJava 中使用 Lambda](http://v.qq.com/x/page/l0340boeng7.html)
|
52 | 58 |
|
53 | 59 | 这一期通过一个统计文章中字符数的小程序进一步给大家呈现 Lambda 的威力,也向大家展示一下如何在 Kotlin 当中优雅地使用 RxJava。我不做教科书,所以如果大家对概念感兴趣,可以直接阅读官方 [API](https://kotlinlang.org/docs/reference/lambdas.html)
|
54 | 60 |
|
55 | 61 | [RxJava](https://github.com/ReactiveX/RxJava) 是一个非常流行的 Java Reactive 框架,函数式的数据操作使得 Lambda 表达式可以充分体现自己的优势,比起 Java 的冗长,你会看到一段非常漂亮简洁的代码。建议大家先阅读 [RxJava](https://github.com/ReactiveX/RxJava) 的官方文章以对其有一些基本的认识。
|
| 62 | + |
56 | 63 |
|
57 | 64 | ####[08 使用 Retrofit 发送 GET 请求](http://v.qq.com/x/page/t0342thu1al.html)
|
| 65 | + |
58 | 66 | [Retrofit](https://square.github.io/retrofit/) 是 Square 的 Jake 大神开源的RESTful 网络请求框架,用它发送请求的感觉会让你感觉爽爆的。我这里还有几篇文章,以及一个我 hack 过的分支 [HackRetrofit](https://github.com/enbandari/HackRetrofit),有兴趣的童鞋可以一起探讨下~
|
59 | 67 |
|
60 | 68 |
|
|
64 | 72 |
|
65 | 73 | * [深入浅出 Retrofit,这么牛逼的框架你们还不来看看?](http://www.println.net/post/deep-in-retrofit)
|
66 | 74 |
|
| 75 | + |
67 | 76 | ####[09 尾递归优化](http://v.qq.com/x/page/f0345wmuw2m.html)
|
| 77 | + |
68 | 78 | 尾递归,顾名思义,就是递归中调用自身的部分在函数体的最后一句。我们知道,递归调用对于栈大小的考验是非常大的,也经常会因为这个导致 StackOverflow,所以尾递归优化也是大家比较关注的一个话题。Kotlin 支持语法层面的尾递归优化,这在其他语言里面是不多见的。
|
69 | 79 |
|
| 80 | + |
70 | 81 | ####[10 单例](https://v.qq.com/x/page/w03659ate6w.html)
|
71 | 82 |
|
72 | 83 | 单例大家一定都不陌生,只要你动手写一个程序,就免不了要设计出一些全局存在且唯一的对象,他们就适合采用单例模式编写。在 Java 里面,单例模式的写法常见的有好几种,虽然简单却也是涉及了一些有意思的话题,那么在 Kotlin 当中我们要怎么设计单例程序呢?
|
73 | 84 |
|
| 85 | + |
74 | 86 | ####[11 Sealed Class](https://v.qq.com/x/page/f0350ioskzj.html)
|
75 | 87 | 枚举类型可以很好的限制一个类型的实例个数,比如 State 枚举有两种类型 IDLE 和 BUSY 两种状态,用枚举来描述再合适不过。不过,如果你想要设计子类个数有限的数据结构,比如指令,指令的类型通常是确定的,不过对于某些有参数的指令每一次都使用同一个实例反而不合适,这时候就需要 Sealed Class。
|
76 | 88 |
|
| 89 | + |
77 | 90 | ####[12 Json数据引发的血案](https://v.qq.com/x/page/s035296s9nw.html)
|
78 | 91 | Json 数据可真是大红大紫一番,它实在是太容易理解了,随着 Js 的火爆它就更加『肆无忌惮』起来。我们在 Java/Kotlin 当中解析它的时候经常会用到 Gson 这个库,用它来解析数据究竟会遇到哪些问题?本期主要围绕 Json 解析的几个小例子,给大家展示一下 Java/Kotlin 的伪泛型设计的问题,以及不完整的数据的解析对语言本身特性的冲击。
|
79 | 92 |
|
| 93 | + |
80 | 94 | ####[13 kapt 以及它的小伙伴们](https://v.qq.com/x/page/q035439xksx.html)
|
| 95 | + |
81 | 96 | 首先感谢 @CodingPapi,这一期的内容主要来自于他的建议。
|
82 | 97 |
|
83 | 98 | Kotiln 对于注解的支持情况在今年(2016)取得了较大的成果,现在除了对 @Inherited 这个注解的支持还不够之外,试用了一下没有发现太大的问题。关于 kapt,官方的文章罗列下来,其中
|
|
0 commit comments