You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Kotlin中operator关键字的具体作用是什么?附代码示例

Kotlin中operator修饰invoke函数的作用

直接说结论:用operator修饰invoke函数,能让这个类的实例像普通函数一样被调用,不用额外写.invoke()这串代码。

看你贴的ImageUseCase代码,它用operator声明了挂起的invoke函数,当你拿到这个类的实例后,不用这么写:

imageUseCase.invoke(page = 2, category = "popular")

而是可以直接像调用函数一样写:

imageUseCase(page = 2, category = "popular")

因为invoke是Kotlin里的特殊运算符函数,用operator标记后,就支持这种"实例()"(带参数)的调用语法。

这种写法在UseCase模式里特别常用——UseCase本身就是一个单一的执行单元,把它做成"可调用对象",代码读起来更直观,就像直接执行这个用例一样,不用额外去记某个特定方法名。

另外你的invoke还是suspend函数,所以在协程里调用的时候,和调用普通挂起函数完全一样,不用额外处理,非常顺畅。

内容的提问来源于stack exchange,提问作者mmTDC

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.29 04:32:17