美文网首页
[日更][19]-Kotlin

[日更][19]-Kotlin

作者: 代码多哥 | 来源:发表于2023-08-29 14:53 被阅读0次

    因为时间很短,所以内容不是很复杂,写一个有价值的小知识,主要是为了保持每日学习和写作的习惯,大作还是会写到相关的主题里面,尽量做到周更。敬请关注本人的主要作品集:

    一路向下之AOSP研究

    为了能够最大限度的保证文章的质量,日更主要采用翻译的方法来完成。本系列将主要翻译Kotlin官网的内容。具体的地址

    https://kotlinlang.org/docs/home.html

    十八, 函数-Lambda表达式-传递给另一个函数

    将lambda表达式传递给其他函数,有一个很有用的的例子,那就是在集合上使用.filter() 函数:

    val numbers = listOf(1, -2, 3, -4, 5, -6)
    val positives = numbers.filter { x -> x > 0 }
    val negatives = numbers.filter { x -> x < 0 }
    println(positives)
    // [1, 3, 5]
    println(negatives)
    // [-2, -4, -6]
    
    • .filter() 函数接受lambda表达式作为谓词:
    • { x -> x > 0 }获取列表中的每个元素x,并且只返回那些为正的元素。
    • { x -> x < 0 }获取列表中的每个元素x,并且只返回那些为负数的元素。

    如果lambda表达式是唯一的函数参数,则可以去掉函数圆括号() 。这是一个尾部lambda的例子,本章末尾将对此进行更详细的讨论。

    另一个很好的例子是使用.map() 函数转换集合中的项:

    val numbers = listOf(1, -2, 3, -4, 5, -6)
    val doubled = numbers.map { x -> x * 2 }
    val tripled = numbers.map { x -> x * 3 }
    println(doubled)
    // [2, -4, 6, -8, 10, -12]
    println(tripled)
    // [3, -6, 9, -12, 15, -18]
    
    
    • .map() 函数接受lambda表达式作为谓词
    • { x -> x*2 }获取列表中的每个元素x,并返回该元素乘以2。
    • { x -> x*3 }获取列表中的每个元素x,并返回该元素乘以3。

    相关文章

      网友评论

          本文标题:[日更][19]-Kotlin

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