美文网首页
Kotlin-标准函数

Kotlin-标准函数

作者: cjjjjjj | 来源:发表于2022-04-14 15:06 被阅读0次

1、标准函数with

1.1、Kotlin中的标准函数指的是Standard.kt(emmm...虽然可能并没多大的用但是这个文件我不知道要怎么找)文件中自定义的函数,任何Kotlin代码都可以自由的调用所有的标准函数。

1.2、with函数:with函数接收两个参数,第一个参数可以是任意类型的对象,第二个参数是一个Lambda表达式。

1.3、with函数会在Lambda表达式中提供第一个参数对象的上下文,并使用Lambda表达式中的最后一行代码作为返回值。

val result = with(obj) {

    // 这里是obj的上下文

    "value" // with函数的返回值

}

1.4、with函数可以在连续调用同一个对象的多个方法时让代码变得更加精简。

val list = listOf("Apple","Banana","Orange","Pear","Grape")

val builder = StringBuilder()

builder.append("Start eating fruits.\n")

for (fruit in list){

    builder.append(fruit).append("\n")

}

builder.append("Ate all fruits.")

val result = builder.toString()

println(result)

用with简化

val list = listOf("Apple","Banana","Orange","Pear","Grape")

val result = with(StringBuilder()){// 给with函数的第一个参数传入了StringBuilder对象,那么接下来整个Lambda表达式的上下文就会是这个StringBuilder对象

    append("Start eating fruits.\n")

    for(fruit in list){

        append(fruit).append("\n")

    }

    append("Ate all fruits.")

    toString()//最后一行会作为with函数的返回值

}

println(result)//将结果打印出来

2、标准函数run

2.1、run函数通常不会直接调用,而是要在某个对象的基础上调用。

2.2、run函数只接收一个Lambda参数,并且会在Lambda表达式中提供调用对象的上下文。

2.3、其他方面和with函数一样,包括也会使用Lambda表达式中的最后一行代码作为返回值返回。

val result = obj.run{

    // 这里是obj的上下文

    "value" // run函数的返回值

}

2.4、用run函数简化之前的代码

val list = listOf("Apple","Banana","Orange","Pear","Grape")

val result = StringBuilder().run{// 将调用with函数并传入StringBuilder对象改成了调用StringBuilder对象的run方法

    append("Start eating fruits.\n")

    for(fruit in list){

        append(fruit).append("\n")

    }

    append("Ate all fruits.")

    toString()

}

println(result)

3、标准函数apply

3.1、apply函数和run函数类似,都要在某个对象上调用,并且只接收一个Lambda参数,也会在Lambda表达式中提供调用对象的上下文,但是apply函数无法指定返回值,而是会自动返回调用对象本身。

val result = obj.apply{

    // 这里是obj 的上下文

}

// result == obj

3.2、用apply函数简化之前的代码

val list = listOf("Apple","Banana","Orange","Pear","Grape")

val result = StringBuilder().apply{

    append("Start eating fruits.\n")

    for(fruit in list){

        append(fruit).append("\n")

    }

    append("Ate all fruits.")

}

println(result.toString())// 因为apply函数无法指定返回值,只能返回调用对象本身,因此这里的result是一个StringBuilder对象,需要在打印的时候调用它的toString()方法才行

3.3、启动Activity最佳写法语句可以精简成:

精简语句

Demo地址:https://gitee.com/aaron222/activitytest.git

相关文章

  • Kotlin-标准函数

    什么是标准函数?是指在Standard.kt文件中定义的函数,在任何的Kotlin代码都可以自由地调用。 1.le...

  • Kotlin-标准函数

    1、标准函数with 1.1、Kotlin中的标准函数指的是Standard.kt(emmm...虽然可能并没多大...

  • kotlin从入门到看开 ₆

    layout: posttitle: "kotlin-高阶函数"subtitle: "这个世...

  • Kotlin-函数

    函数的一般写法 函数需要使用【fun】关键字来声明; 参数的书写格式是name: type,和Java的type ...

  • Kotlin-函数

    函数声明 Kotlin 中的函数使用 fun 关键字声明: 函数用法 调用函数使用传统的方法: 默认参数 函数参数...

  • Kotlin使用技巧(一)-接口与命名参数的优雅运用

    抛出问题 看过我的Kotlin-高阶函数的使用(二)都知道,我们的setOnClickListener可以这样写:...

  • Kotlin-入门(二)

    上一篇文章《Kotlin-入门》写了kotlin的介绍、HelloWorld、函数定义、变量声明、各种注释以及字符...

  • Kotlin-那些好用的标准高阶函数

    Kotlin特性总结的第二篇,上一篇我们谈了拓展函数和拓展属性。本篇我们来学习一下高阶函数。 拓展函数是对类的拓展...

  • Kotlin-高阶函数

    函数入门 今天我们来讲解Kotlin的函数一说到函数,很多同学可能脑子里面是这样的一个概念。 我们高中数学经常与函...

  • Kotlin-高阶函数

    介绍 Kotlin是函数式编程,所以可以把函数作为参数传递给函数,或者作为函数的返回值使用,我们称其为高阶函数。本...

网友评论

      本文标题:Kotlin-标准函数

      本文链接:https://www.haomeiwen.com/subject/ltptertx.html