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