): 返回值类型 {
函数体
}
定义扩展函数 与 定义普通函数唯一的区别是 扩展函数 前多了 类名. ;
下面的代码中 , 为 String 定义扩展函数 , 拼接原字符串和扩展函数参数 , 并将结果返回...接收者 ( 调用函数的实例对象 ) , 同时还可以 获取 接收者 的 泛型参数类型 ;
泛型扩展函数 格式 : 一般 泛型扩展函数 都是为了 配合 链式编程 , 其 返回值类型 就是 接收者泛型参数类型..., 并将接收者返回 , 该泛型可以是任意类型 ;
在 main 函数中 , 先调用 字符串实力对象 的 printSelf 泛型扩展函数打印自身 , 然后调用 字符串的扩展函数 String.addStr...----
标准库 中的 let 函数 , 就是 泛型扩展函数 ,
inline 关键字表明该函数是 内联函数 , 其中的 匿名函数 参数在编译时直接将函数体拷贝到使用位置 , 避免创建匿名函数相关对象..., 造成堆内存开销 ;
该函数中涉及到 两个泛型 T 和 R , 在 fun 关键字后声明 ,
为 泛型 T 定义了一个扩展函数 let ,
传入 (T) -> R 类型的匿名函数 , 该 Lambda