gpt4 book ai didi

scala - 在 Scala 中显式写入 'return' 和隐式写入有什么区别?

转载 作者:行者123 更新时间:2023-12-04 21:14:04 24 4
gpt4 key购买 nike

这个问题在这里已经有了答案:





"return" and "try-catch-finally" block evaluation in scala

(2 个回答)


6年前关闭。




这是 Scala cli 中的代码:

scala> def ff(): Int = try {return 1} finally {return 2}

scala> println(ff())
2

scala> def gg(): Int = try {1} finally {2}

scala> println(gg())
1

我想知道为什么添加与不添加 return 有区别关键词?非常感谢!

最佳答案

return内声明 finally概念上会覆盖原来的 returntry堵塞。但是如果你不使用 return,Scala 会选择 try 的最后一个表达式。 block 作为计算的结果, finally 只是作为副作用执行,对函数的结果没有任何影响。你可以看看this thread以及。

关于scala - 在 Scala 中显式写入 'return' 和隐式写入有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28559680/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com