发现了一个好玩的知识,今天写个文章分享下
接口新特性:可以在接口中写实现方法
实现接口,可以不复写该方法 test( )
interface MyInterface {
fun test(): String {
return "调用接口的实现方法"
}
}
高阶函数
fun highOrder(a: Int, b: (c: Int, g: Int) -> Int): Int {
// b.invoke 调用自己的本身
return a + b.invoke(10, 20)
}
fun test( ){
// highOrder b的参数实现一个方法体 , 参数为 c g ,
// -> 是方法体, 计算 c+g
Log.i("TAG", highOrder(1, { c, g -> c + g }).toString())
}
// 注意: 传入的参数命名可以和b: (c: Int, g: Int)不相同
// 就是 b 的两个参数名为 c g , 我实现可以写成 k, h
Log.i("TAG", highOrder(1, { k, h -> k + h }).toString())



