MST
星途 面试题库

面试题:Kotlin中如何通过扩展函数提升代码简洁性

请举例说明在Kotlin中如何定义一个扩展函数,来简化对集合类的操作,比如对一个List计算平方和。同时解释扩展函数为什么能提升代码的简洁性与表达力。
40.9万 热度难度
编程语言Kotlin

知识考点

AI 面试

面试题答案

一键面试

定义扩展函数计算List平方和

在Kotlin中,可以如下定义扩展函数来计算List的平方和:

fun List<Int>.squareSum(): Int {
    return this.sumOf { it * it }
}

在上述代码中,List<Int>表示这个扩展函数是作用于Int类型的ListsquareSum是扩展函数的名称,在函数体中,使用sumOf函数对列表中的每个元素进行平方运算并求和。

扩展函数提升代码简洁性与表达力的原因

  1. 简洁性:通过定义扩展函数,无需创建额外的工具类或者在每个使用的地方都编写重复的逻辑。例如,在计算平方和时,直接在List对象上调用squareSum函数即可,而不需要编写循环等复杂的代码结构,使代码行数减少。
  2. 表达力:扩展函数可以根据业务需求,为已有的类添加有意义的方法。从代码阅读者的角度,看到list.squareSum(),能很直观地明白这段代码是在计算列表元素的平方和,增强了代码的可读性和可维护性。相比在多处编写相似的循环计算逻辑,扩展函数将逻辑封装起来,使代码更加清晰,提高了代码的表达能力。