Kotlin中的“&&”和“and”有什么区别?在我的代码中,当第一个条件为false时,我注意到“and”之后的条件仍然被求值,但在“&&”情况下不求值。为什么呢?
qvtsj1bj1#
你自己回答了这个问题--如果你使用and,那么你就计算了整个表达式。https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/and.html在某些情况下,调用右表达式可能会产生副作用,而您希望这些副作用发生而不管左表达式如何。
and
if (!(saveToDatabase() and writeToNoficationQueue())) { print("At least one thing went wrong there. Check the logs to find out.") }
字符串
1条答案
按热度按时间qvtsj1bj1#
你自己回答了这个问题--如果你使用
and
,那么你就计算了整个表达式。https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/and.html
在某些情况下,调用右表达式可能会产生副作用,而您希望这些副作用发生而不管左表达式如何。
字符串