在Kotlin中,sumBy
是一个集合操作函数,用于对集合的元素进行求和。它接受一个lambda表达式作为参数,用于指定如何计算每个元素的值。
以下是一个示例代码来说明sumBy
的工作方式:
data class Item(val name: String, val price: Int)
fun main() {
val items = listOf(
Item("item1", 10),
Item("item2", 20),
Item("item3", 30)
)
val totalPrice = items.sumBy { it.price }
println("Total Price: $totalPrice")
}
在上述示例中,我们定义了一个Item
数据类,它有两个属性:name
和price
。然后,我们创建了一个包含三个Item
对象的列表。
接下来,我们使用sumBy
函数来计算列表中所有Item
对象的price
属性的总和。在lambda表达式{ it.price }
中,it
表示集合中的每个元素,我们通过it.price
访问Item
对象的price
属性。
最后,我们将计算出的总和打印出来。
输出结果为:
Total Price: 60
正如我们在示例中所看到的,sumBy
函数的参数是一个lambda表达式,该表达式被应用于集合的每个元素。表达式的返回值将用于计算总和。