Kotlin
文章平均质量分 92
Kotlin学习,使用笔记
DeMonnnnnn
I decide what tide to bring. 我的命运,由我做主。
展开
-
Android Kotlin反射全解析
读此文前你需要学习并了解Java反射的基本知识。Kotlin的反射原理上跟Java是没差别的。他们出现差异的主要原因是Kotlin代码编译转为Java代码后,会发生变化,进而导致反射调用也会出现差别。以静态方法为例。object class 懒汉式单例companion object 静态内部类式单例然后菜单栏} }在Java中这些方法并不是static的,而是被转为了最简单的懒汉式单例类,这也解释了为什么object class在kotlin中是一个单例。原创 2022-12-09 18:15:00 · 3416 阅读 · 2 评论 -
Kotlin:函数DSL实战
DSL(domain specific language),即领域专用语言:专门解决某一特定问题的计算机语言,比如大家耳熟能详的 SQL 和正则表达式。Kotlin DSL的简单定义:“使用 Kotlin 语言开发的,解决特定领域问题,具备独特代码结构的API 。”扩展函数/属性假设我们想获取昨天的日期,昨天相对于今天来说也就是一天前,那么获取这个方法的DSL写法就应该是: val yesterday = 1.days.ago 由上面的结构,我们可以设计扩展函数如下:fun Int.day.原创 2020-07-23 20:12:03 · 565 阅读 · 0 评论 -
Kotlin:属性委托笔记&实战
委托模式委托模式是软件设计模式中的一项基本技巧。在委托模式中,有两个对象参与处理同一个请求,接受请求的对象将请求委托给另一个对象来处理。Kotlin直接支持委托模式,更加优雅,简洁。Kotlin通过关键字by实现委托。属性委托属性委托指的是一个类的某个属性值不是在类中直接进行定义,而是将其托付给一个代理类,从而实现对该类的属性统一管理。属性委托语法格式:val/var <属性名>: <类型> by <委托代理类>属性委托要求对于只读属性(也就原创 2020-07-22 20:43:04 · 815 阅读 · 0 评论 -
Kotlin:作用域函数(let、with、run、apply、also)
作用域函数Kotlin 标准库包含几个函数,它们的唯一目的是在对象的上下文中执行代码块。当对一个对象调用这样的函数并提供一个 lambda 表达式时,它会形成一个临时作用域。在此作用域中,可以访问该对象而无需其名称。这些函数称为作用域函数。共有以下五种:let、run、with、apply 以及 also。letlet 可用于在调用链的结果上调用一个或多个函数。let 经常用于仅使用非空...原创 2019-11-21 11:01:27 · 829 阅读 · 0 评论