需要在Kotlin中重写的空函数的编码约定

时间:2017-06-17 19:26:38

标签: kotlin convention

对于非常短的Coding Conventions而言,在Kotlin中写下空函数的最简单方法是没有答案的。

示例:

ani.setAnimationListener(object: Animation.AnimationListener {

    override fun onAnimationRepeat(animation: Animation?) = Unit
    override fun onAnimationStart(animation: Animation?) {}

    override fun onAnimationEnd(animation: Animation?) =
        activity.runOnUiThread { loadLists() }
})

此处仅使用了AnimationListener(Android)的3种必要方法中的一种。

应该使用哪种类型的空方法? Single Expressionfun name() = Unit)或Java中使用的传统方式(fun name() {})?

我个人更喜欢= Unit - Way更多因为这似乎意味着将功能缩短到一行的方式。但是{}更短但更老,可能更难看。

有没有更好/更短的方法来执行此代码?

1 个答案:

答案 0 :(得分:2)

您已添加指向Coding Conventions的链接,其中似乎实际上是您的问题的答案

  

单元

     

如果函数返回Unit,则应省略返回类型:

     

fun foo(){//“:Unit”在这里省略

     

}

所以我相信

fun foo() {}

fun foo() {
}

应该是答案