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 · 843 阅读 · 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 · 202 阅读 · 0 评论 -
kotlin 流水线素数
kotlin 流水线素数标签(空格分隔): kotlinfun 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 · 191 阅读 · 0 评论 -
kotlin的?.和!!.
?.表示当前对象如果为空则不执行, !!.表示当前对象如果为空也执行,然后会抛出空异常一个?.的例子: 一个!!.的例子: 参考: Kotlin中问号(?)和两个叹号(!!)...原创 2018-04-19 12:18:28 · 8070 阅读 · 0 评论 -
Kotlin lateinit 和 by lazy 的区别
转自:Kotlin lateinit 和 by lazy 的区别1.lazy{} 只能用在val类型, lateinit 只能用在var类型 如 :val name: String by lazy { "sherlbon" }lateinit var adapter: MyAdapter2.lateinit不能用在可空的属性上和java的基本类型上 如:lateinit va...转载 2018-04-20 12:35:52 · 1092 阅读 · 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 · 669 阅读 · 0 评论