不修改 原有类 的情况下 增加类的功能 ;
Kotlin 中如果类 没有被 open 关键字修饰 , 则该类 不能被继承 , 如果想要扩展该类 , 可以使用 扩展函数 ;
扩展函数 可以作用于 自定义的类...Kotlin 代码文件中有效 , 在其它的 Kotlin 代码中就无法调用了 ;
代码示例 :
在 Hello.kt 代码中 , 使用 private 定义了 Any 超类的扩展函数 , 在本代码中的...{
函数体
}
代码示例 : 在该代码中 , 定义了一个 泛型扩展函数 , 为泛型 T 定义了扩展函数 printSelf , 在函数中打印 接收者 , 并将接收者返回 , 该泛型可以是任意类型 ;...let 函数 , 就是 泛型扩展函数 ,
inline 关键字表明该函数是 内联函数 , 其中的 匿名函数 参数在编译时直接将函数体拷贝到使用位置 , 避免创建匿名函数相关对象 , 造成堆内存开销 ;...中的 内联函数 也是一种 编译时 进行 宏替换的操作 ;
内联函数参考 【Kotlin】函数 ⑦ ( 内联函数 | Lambda 表达式弊端 | “ 内联 “ 机制避免内存开销 - 将使用 Lambda