比如说有一个数组 arr = [1,2,3,4,5,6]
for(let i =0;i<arr.length;i++) {
if( arr[i] === 7 ) {
//todo
}
}
//加一个else
for(let i =0;i<arr.length;i++) {
if( arr[i] === 7 ) {
//todo
} else {
return true;
}
}
比如这种情况,当我所有的条件都不符合时,下面加了else代码是否比上面的要稍微好一些,还是说上面不使用else代码就行,或者说各位大佬有好的写法分享一下。
教材中都说一个方法一个return比较好,我觉得编写教材的人可能没什么工作经验,如果一个函数有很多行代码,多个return会看花眼,但是如果行数不是太多(或者是行数很多,但是多个return前面的代码都类似),多个return看起来很舒服,如:
def any7(array):
for e in array:
if e == 7:
return true
return false
比较一下:
def any7(array):
have7 = false
for e in array:
if e == 7:
have7 = true
break
return have7
我是就這個案例討論嘛,實際應用上當然是視情況靈活變化的好啊
@RosonJ:对的,我也改改我的答案
@会长:
你的按理降return 放在if 中,這個寫法確實精簡,省去執行後面代碼工
但我覺得return 放在if 跟放在else 裡差別挺大的
if 中你可以清楚知道某個情境下會觸發
else 則是不符合某個情境時觸發
這就影響到除錯時的效率
@RosonJ: 是的,哈哈,编程也是艺术活儿,也可以悟道
我會認為return在for迴圈外較好
單一回傳點更容易閱讀
除了7这个条件,其他条件你不做操作的话是可以不用写的
不用加else,要是不想进行之后的步骤可以在if内加个continue;
甚至确定只有一次7的话还可以if内break;