可以作用于 自定义的类 , 也可以作用于 系统自带的类 , 如 String , List , 等 标准库 API 类 ;
为 某个类 定义扩展函数 , 格式为 :
fun 类名.扩展函数名(参数列表...): 返回值类型 {
函数体
}
定义扩展函数 与 定义普通函数唯一的区别是 扩展函数 前多了 类名. ;
下面的代码中 , 为 String 定义扩展函数 , 拼接原字符串和扩展函数参数 , 并将结果返回...Any 超类定义扩展函数
----
扩展函数 的特点 是 为 父类定义扩展函数 , 子类也可以调用该扩展函数 ;
为 Any 超类 定义 扩展函数 , 那么 所有的 Any 子类 都可以 调用该 扩展函数...;
一旦在 Any 超类中定义了扩展函数 , 则在整个项目中 , 该扩展函数都有效 ;
这就导致了 Kotlin 的框架非常灵活 , 使用别人的 SDK 时会发现 为各种现有类定义的 扩展函数 ;
代码示例...let 函数是泛型扩展函数
----
标准库 中的 let 函数 , 就是 泛型扩展函数 ,
inline 关键字表明该函数是 内联函数 , 其中的 匿名函数 参数在编译时直接将函数体拷贝到使用位置