Kotlin(十六) 高阶函数的简单应用

这篇具有很好参考价值的文章主要介绍了Kotlin(十六) 高阶函数的简单应用。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

高阶函数非常适用于简化各种API的调用,一些API的原有用法在使用高阶函数简化之后,不管是在易用性还是可读性方面,都可能会有很大的提升。

所以我们可以通过高阶函数来使一些API变得更简单更易读。在我们APP存储数据时,通常会用到SharedPreferences 这个API,那么我们现在尝试使用高阶函数来简化它。

简化SharedPreferences

我们之前使用SharedPreferences时,基本需要三步

1.获取Editor对象

2.通过Editor对象存储数据

3.调用apply()方法提交数据,完成存储操作

对应代码如下:

    @SuppressLint("CommitPrefEdits")
    fun saveSharedPreferences(saveString: String) {
        val edit = getSharedPreferences("fileName", Context.MODE_PRIVATE).edit()
        edit.putString("editName", "editValue")
        edit.apply()
    }

那我们该如何简化他呢?首先我们可以通过扩展函数的方式,给SharedPreferences扩展一个save函数,并且他还接收一个函数类型,那么save函数就是一个高阶函数了。

代码如下:

fun SharedPreferences.save(block: SharedPreferences.Editor.() -> Unit) {
     val editor = edit()
     editor.block()
     editor.apply()
}

调用文章来源地址https://www.toymoban.com/news/detail-758492.html

getSharedPreferences("name",Context.MODE_PRIVATE).save { 
    putString("key","value")
}

到了这里,关于Kotlin(十六) 高阶函数的简单应用的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Kotlin Lambda和高阶函数

    本文链接: 1、lambda的由来 单词\\\"lambda\\\"源于希腊字母λ(小写lambda) \\\"Lambda\\\"一词最早起源于数学中的λ演算(lambda calculus),它是一种函数定义和函数应用的形式系统,由逻辑学家阿隆佐·邱奇(Alonzo Church)在20世纪30年代发明。 邱奇使用λ作为演算中的一个操作符,用于表示匿

    2024年02月12日
    浏览(45)
  • 【Kotlin】探索回调机制:函数类型、高阶函数和接口

    当在 Kotlin 中开发应用程序时,经常会遇到需要使用回调机制的情况。回调是一种常见的编程模式,用于在异步操作完成后通知调用方,并处理相应的结果或事件。在 Kotlin 中,有几种不同的方法可以实现回调,包括使用函数类型、高阶函数和接口。每种方法都有其优点和适用

    2024年02月02日
    浏览(47)
  • Android kotlin高阶函数与Java lambda表达式介绍与实战

            目前在Java JDK版本的不断升高,新的表达式已开始出现,但是在Android混淆开发中,kotlin的语言与Java的语言是紧密贴合的。所以Java lambda表达式在kotlin中以新的身份出现:高阶函数与lambda表达式特别类似。接下来我讲会先讲Java的lambda,再介绍kotlin的高阶函数。 2.1

    2024年02月15日
    浏览(48)
  • 【Kotlin】函数式编程 ① ( 函数式编程简介 | 高阶函数 | 函数类别 | Transform 变换函数 | 过滤函数 | 合并函数 | map 变换函数 | flatMap 变换函数 )

    编程范式 指的是 使用某种编程语言的 编程套路 或 编程习惯 ; 使用 Java 等高级语言进行的编程 , 编程范式 一般都是 面向对象编程 ; 与 面向对象编程 同等级的另外一种 编程范式 是 函数式编程 , 函数式编程 不依赖于 指定的语言 , 所有的编程语言都可以使用 函数式编程范式

    2024年01月18日
    浏览(46)
  • Kotlin学习之路(六):继承

    Kotlin的继承和Java的继承一样都是单继承,区别在于Kotlin用 : 来代替了 extends Kotlin用 : 表示继承,Java用 exteds 表示继承。 上面是最简单的Kotlin继承的例子。这里还需要注意的是在Kotlin中类默认都是final的(代表该类不让继承),需要在 class 前面加上 open ,表示该类可以被其

    2023年04月19日
    浏览(37)
  • 学习Kotlin~函数式编程

    高阶函数:以函数为参数或返回函数 函数式编程范式主要依赖于高阶函数返回的数据,这些高阶函数专用于处理各种集合 这些高阶函数可方便的联合多个同类函数构建链式操作以创建复杂的计算行为 函数类别 一个函数式应用通常由三大类构成:变换transform、过滤filter、合并

    2024年02月12日
    浏览(41)
  • 学习Kotlin~函数

    函数参数 不打算传入值参,可以预先给参数指定默认值 有名的函数值参,如果使用命名值参,可以不用管值参的顺序 参数的顺序相反了,也不会影响最终结果。 Unit函数 Kotlin中没有返回值的函数叫Unit函数。 Nothing类型 TODO函数的任务就是抛出异常,就是永远别指望它能运行成

    2024年02月11日
    浏览(39)
  • Android使用kotlin+协程+room数据库的简单应用

    前言:一般主线程(UI线程)中是不能执行创建数据这些操作的,因为等待时间长。所以协程就是为了解决这个问题出现。 第一步:在模块级的build.gradle中引入   好了前期工作ok,正式编写room吧! 第二步:创建表实体  第三部:编写对应的Dao接口  第四步:创建数据库信息

    2024年02月13日
    浏览(48)
  • kotlin学习(二)泛型、函数、lambda、扩展、运算符重载

    Kotlin 中的类可以有类型参数,与 Java 类似: 创建这样类的实例只需要提供类型参数即可: 如果类型参数可以推断出来,例如从构造函数的参数或者从其他途径,就可以省略类型参数: String作为Object的子类,就可以直接将子类对象赋值给父类,这个操作即达到了 型变 。 但是

    2024年02月09日
    浏览(39)
  • 【Kotlin】Kotlin 与 Java 互操作 ① ( 变量可空性 | Kotlin 类型映射 | Kotlin 访问私有属性 | Java 调用 Kotlin 函数 )

    在 Java 语言 中 , 任何 引用类型变量 都可以为 空 null ; Java 中 八种 基本数据类型 变量 的 默认值 为 0 或 false ; 但是在 Kotlin 语言 中 , 所有的 变量 都是引用类型变量 , 没有基本数据类型 , 默认情况下 所有的变量 都为 非空类型 ; 下面分别定义一个 Java 类 和 Kotlin 脚本 , 在 K

    2024年02月02日
    浏览(61)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包