有 A、B 两个条件,至少有一个为真的情况下继续执行相应的逻辑。若同时为真,只执行同时为真的逻辑。这样的逻辑怎样实现才算优雅

2021-05-10 11:30:19 +08:00
 superhreo123
if A == true {
//执行 A 的逻辑
}

if B == true {
//执行 B 的逻辑
}

if A == true && B == true {
//执行其他逻辑
}
571 次点击
所在节点    问与答
7 条回复
uselessVisitor
2021-05-10 12:37:17 +08:00
这不就挺清晰的,能看明白就行
superhreo123
2021-05-10 13:21:39 +08:00
@beichenhpy 上面那种写法,如果 A 和 B 同时为 true,就会执行 A 的逻辑和 AB 逻辑。是不对的
siweipancc
2021-05-10 13:38:36 +08:00
你把第三个判断提升到顶然后里边塞个 return 或已处理标志不就好了,c 语言上机课的经典例题 orz
msg7086
2021-05-10 16:28:11 +08:00
先写#3 然后 else if #1 else if #2 不就行了。
3 个分支必然有 3 个 block,又不能省代码。
zxCoder
2021-05-10 16:37:45 +08:00
@superhreo123 先判 a && b 的逻辑
revlis7
2021-05-10 23:37:04 +08:00
switch(true)

case A && B
break;
case A
break;
case B
break;
treblex
2021-05-11 08:55:06 +08:00
if A == true && B == true {
//执行其他逻辑
return
}

if A == true {
//执行 A 的逻辑
return
}

if B == true {
//执行 B 的逻辑
return
}

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/775969

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX