有时当我正在阅读其他人的代码(特别是PHP,但这个问题涉及所有编程语言)时,我会看到如下内容:
some_bool_value && return = some_function()
经过一番思考后,我意识到他们正在使用它代替:
if(some_bool_value){ return = some_function() }
这种替代方法是否有任何程序上的好处,或者只是简写/偏好?
答案 0 :(得分:3)
这是程序员的简写。在这种情况下,它被称为短路评估(如果&&
的左侧评估为真/非零,则评估右侧。否则,不评估右侧)。
这种类型的东西属于程序员或团队的个人偏好和风格,并且在任何实际意义上都与效率无关。