https://www.kotlincn.net/docs/reference/ Kotlin官方文档
https://kymjs.com/code/2017/04/09/01/ 张涛开源实验室
http://johnnyshieh.me/posts/kotlin-coroutine-concurrency/ kotlin协程
http://www.10tiao.com/html/169/201705/2650823035/1.html ktolin鸿翔 内附文章推荐
单表达式函数:fun doubleValue(x: Int): Int = x * 2
当返回值类型可由编译器推断时,显式声明返回类型是可选的
fun doubleValue(x: Int) = x * 2
闭包:给闭包下一个定义:闭包就是能够读取其他函数内部变量的函数
https://blog.csdn.net/yzzst/article/details/74619101 上参考
https://segmentfault.com/a/1190000013333527?utm_source=channel-hottest
函数式编程的第二个特点就是可以返回一个函数,这样就可以实现闭包或者惰性计算
https://zhuanlan.zhihu.com/p/54951759
高阶函数
https://blog.csdn.net/u013212407/article/details/80975143
操作符的实现原理 张涛开源实验室
lambda return
https://blog.csdn.net/guyue35/article/details/86087884 let apply with用法
1.2.2 静态语言 类型推导
当你检视kotlin类型系统的细节时,你会发现许多熟悉的概念,类,接口以及泛型和java非常相近,然而也有一些新概念,
其中最重要的是kotlin对可空类型的支持。通过在编译期检测可能存在的空指针异常
类型系统新概念是对函数类型的支持,要搞清这一点,我们先要了解函数式编程的主要思想,以及kotlin是如何支持这种编程风格的
1.2.3 函数式 和 面向对象
作为java开发者一定对面向对象比较熟悉
函数式核心概念如下:
头等函数:把函数(一小段行为)当作值返回,可以用变量保存它,把它当作参数传递,或者当作其他函数的返回值。
不可变性:使用不可变对象,这保证了它们的状态在其创建后不能再变化
无副作用:使用的是纯函数。此函数在输入相同时会产生同样的结果,并且不会修改其他对象的状态,也不会和外面的世界交互。
https://zhuanlan.zhihu.com/p/27034675 kotlin函数抽象
https://www.jianshu.com/p/0bf0bc04ef2c
https://www.jianshu.com/p/6386a36c1728 sam转换机制
http://www.liying-cn.net/kotlin/docs/reference/native/c_interop.html kotlin/native 原生 c语言互操作
https://cloud.tencent.com/developer/article/1188942 c语言互操作详细例子
https://www.jianshu.com/p/ef08694d9bfe kotlin/native 简易教程
https://segmentfault.com/a/1190000014708392 launch async 差别
https://colobu.com/2016/02/29/Java-CompletableFuture/ Java CompletableFuture 详解
https://www.jianshu.com/p/090e35508979 简书介绍协程