在Kotlin中正确使用return [已关闭]

pdsfdshx  于 2023-02-19  发布在  Kotlin
关注(0)|答案(1)|浏览(138)

已关闭。此问题为opinion-based。当前不接受答案。
**想要改进此问题吗?**请更新此问题,以便editing this post可以用事实和引文来回答。

5天前关闭。
Improve this question
在Kotlin中,你可以用两种方式编写下面的函数:

fun getProduct(id: Int): Product? {
    if (id < 1 ) return null
    return productProvider.getProduct(id) /// Assuming getProduct NEVER fails
}

或如下所示:

fun getProduct(id: Int) = if (id > 0 ){
   productProvider.getProduct(id) /// Assuming getProduct NEVER fails
}else {
    null
}

我被建议总是使用后者,因为这是正确的方式。有人能给我指出正确的方向吗?为什么第二种语法更好?
我可以猜测,性能明智,他们是完全相同的,(海事组织)我不觉得第二个更具可读性在所有。

pbpqsu0x

pbpqsu0x1#

它不是更正确或表现更好,而是一种风格选择。
您可以选择包含返回类型,以使第二个代码更具可读性:

fun getProduct(id: Int): Product? = if (id > 0 ) {
    productProvider.getProduct(id)
} else {
    null
}

when表达式在这里也会有帮助。

相关问题