您当前的位置: 首页 > 技术文章 > 前端开发

Kotlin语法备忘

作者: 时间:2023-02-03阅读数:人阅读

1、ObservableField和MutableLiveData的区别

https://blog.csdn.net/awodefengduanwu/article/details/116601357

2、Kotlin中的inline, noinline, crossinline, reified

https://www.jianshu.com/p/76a0e4990785

https://zhuanlan.zhihu.com/p/224965169

inline 可以让你用内联——也就是函数内容直插到调用处——的方式来优化代码结构,从而减少函数类型的对象的创建;

noinline 是局部关掉这个优化,来摆脱 inline 带来的「不能把函数类型的参数当对象使用」的限制;

crossinline 是局部加强这个优化,让内联函数里的函数类型的参数可以被间接调用;

reified让类型参数更加具体, 好用(https://blog.csdn.net/Goals1989/article/details/126964612)。

3、suspendCoroutine(让异步回调方法变成有返回值的方法)

https://zhuanlan.zhihu.com/p/569412300

4、 .() 高阶函数

T.()->Unit 的函数体中可以直接使用T代表的对象,即用this代表对象

https://blog.csdn.net/liujun3512159/article/details/127993296

5、.invoke

callback?.invoke(default) 相当于 callback( default )
 private fun nnn() {
       //1、调用
       show("1"){
            // it====true
            Log.d("LUO","it====${it}")
       }
    }


    //2、被调用方法
    fun show(id: String, result:((Boolean)-> Unit)?) {
        if(id.equals("1")){
            result?.invoke(true)
            return
        }
        result?.invoke(false)
        return
    }

https://jianshu.com/p/17ca06dbd89e

本站所有文章、数据、图片均来自互联网,一切版权均归源网站或源作者所有。

如果侵犯了你的权益请来信告知我们删除。邮箱:licqi@yunshuaiweb.com

标签: kotlin 开发语言
加载中~
如果您对我们的成果表示认同并且觉得对你有所帮助可以给我们捐赠。您的帮助是对我们最大的支持和动力!
捐赠我们
扫码支持 扫码支持
扫码捐赠,你说多少就多少
2
5
10
20
50
自定义
您当前余额:元
支付宝
微信
余额

打开支付宝扫一扫,即可进行扫码捐赠哦

打开微信扫一扫,即可进行扫码捐赠哦

打开QQ钱包扫一扫,即可进行扫码捐赠哦