Kotlin Lambda 之 reduce

2021-03-13  本文已影响0人  ithankzc

reduce

inline fun <S, T : S> Iterable<T>.reduce(
    operation: (acc: S, T) -> S
): S

付款单数据类

data class Payment(
  val paymentId: String,
  val amount: Int
)

主函数

fun main() {
    
    val payments = listOf(Payment("p123", 1),  Payment("p124", 2))

    // 计算付款单总额
    val total = payments.map(Payment::amount).reduce {
        acc, amount -> 
          val amount = acc + amount
          amount
    }
    println(total)
}

输出结果

3
上一篇 下一篇

猜你喜欢

热点阅读