Android Function 函数接口
函数类型由如下格式表示
(参数类型列表) -> 返回值类型
如
(Int, Int) -> Int
Kotlin 的函数跟普通的变量一样,可以作为参数。
fun sum(list: List<Int>, add: (Int, Int) -> Int): Int {
val result = 0
for (it in list) {
add(result, it)
}
return result
}
Kotlin 的类可以直接当做函数调用, 只需实现 invok
操作符
class Add {
var sum = 0
operator fun invoke(num: Int) {
sum += num
}
}
fun test() {
var add = Add()
add(5)
}
更进一步的,函数类型可以作为接口进行继承。
class IntTransformer: (Int) -> Int {
override operator fun invoke(x: Int): Int = TODO()
}
如上, IntTransformer 实现了一个 (Int) -> Int
型的函数,因为函数只指定了类型,所以它是一个接口型函数,必须对其实现。
override operator fun invoke(x: Int): Int = TODO()
则是在实现 (Int) -> Int
接口函数
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
上一篇: Android 5.0 以下版本适配
下一篇: 彻底找到 Tomcat 启动速度慢的元凶
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论