
kotlin
Davisxy
这个作者很懒,什么都没留下…
展开
-
DSL
转载:摘抄自《Kotlin极简教程》-陈光剑 DSL 是什么 DSL(Domain-Specific Language,领域特定语言)指的是专注于特定问题领域的计算机语言(领 域专用语言)。不同于通用的计算机语言(GPL),领域特定语言只用在某些特定的领域。 比如用来 显示网页的HTML语言,以及Emacs所使用的Emac LISP语言等。更加典型的例子是Gradle,它基于 Ant 和 Maven,使用基于Groovy的DSL 来声明项目设置,而不是传统的XML。 DSL 简单讲就是对一个特定问题 (.翻译 2020-10-30 17:17:14 · 1033 阅读 · 0 评论 -
逆变与协变
转载:摘抄自《Kotlin极简教程》-陈光剑 逆变与协变 Animal类型(简记为F, Father)是Dog类型(简记为C, Child)的父类型,我们把这种父子类型关系 简记为F <| C。 而List, List的类型,我们分别简记为f(F), f( C)。 那么我们可以这么来描述协变和逆变: 当F <| C 时, 如果有f(F) <| f( C),那么f叫做协变(Convariant); 当F <| C 时, 如果有f( C) <| f(F), 那么f叫做逆变(C.翻译 2020-10-30 11:51:07 · 248 阅读 · 0 评论 -
kotlin 流水线素数
kotlin 流水线素数 标签(空格分隔): kotlin fun numbersFrom(context: CoroutineContext, start: Int) = produce<Int>(context) { var x = start while (true) send(x++) // 从start开始的无限整数流 } fun filter(context: CoroutineContext, numbers: ReceiveChannel<Int>原创 2020-06-15 10:52:50 · 235 阅读 · 0 评论 -
kotlin的?.和!!.
?.表示当前对象如果为空则不执行, !!.表示当前对象如果为空也执行,然后会抛出空异常 一个?.的例子: 一个!!.的例子: 参考: Kotlin中问号(?)和两个叹号(!!) ...原创 2018-04-19 12:18:28 · 8127 阅读 · 0 评论 -
Kotlin lateinit 和 by lazy 的区别
转自:Kotlin lateinit 和 by lazy 的区别 1.lazy{} 只能用在val类型, lateinit 只能用在var类型 如 : val name: String by lazy { "sherlbon" } lateinit var adapter: MyAdapter 2.lateinit不能用在可空的属性上和java的基本类型上 如: lateinit va...转载 2018-04-20 12:35:52 · 1118 阅读 · 0 评论 -
handler循环
整理自:Variable ‘runnable’ must be initialized 使用的时候: private var runnable2= Runnable { handler.postDelayed(runnable2,1000) } 报:Variable ‘runnable’ must be initialized 在stackoverflow中有解释:...翻译 2018-04-20 12:45:18 · 766 阅读 · 0 评论