do...while 语句 ,做了一年开发,从来没用到过,是不是我太菜了。

2019-03-27 13:19:33 +08:00
 k8ser
8698 次点击
所在节点    程序员
68 条回复
freedomshi
2019-03-28 11:00:27 +08:00
chtcrack
2019-03-28 12:00:02 +08:00
do while 和 for 差别很小的..for 写起来会比 do while 简单一些..看个人习惯吧.举例 int i=0;
while(i<10)
{
i++;
}
上面的 while 和下面 for 其实执行的都是一个鸟样.
for(int i=0;i<10;i++)
{
}
jadeity
2019-03-28 12:29:04 +08:00
这就是个冗余的表达方式,存在但是没必要,所以 golang 只有一个 for (非褒非贬)。
gamexg
2019-03-28 12:50:33 +08:00
go 里面只剩下了 for ...

另外 c 里面虽然知道,但是印象真没用过。
Paual
2019-03-28 13:13:06 +08:00
do,while {} 可以进行重试机制吧,这个也是看大神的代码的时候看到的
do {

//进行相关操作

} while ($this->result() !=0 $count<3) 可以进行重试机制,当函数 result 的结果不为 0,进行 do while 循环中的内容,也就是当函数结果没有执行成功的时候可以进行循环代码中的代码,也即重试机制
Paual
2019-03-28 13:14:58 +08:00
代码应该是这个:
$count = 0;
do {

//进行相关操作

} while ($this->result() !=0 && $count<3) 可以进行重试机制,当函数 result 的结果不为 0,进行 do while 循环中的内容,也就是当函数结果没有执行成功的时候可以进行循环代码中的代码,也即重试机制
viger
2019-03-28 14:54:12 +08:00
do{}while(0)用的最多,主要是为了解决多层嵌套判断问题。
当然如果有时候需要先执行一波再来判断的循环也会用到,不过这种场景比较少
dearmymy
2019-03-28 17:47:56 +08:00
我就是这么搞的,
int liRet = -1
do
{
liRet = doSomething()
if(liRet !=0)
break
.....
liRet = 0
}while(false)
return liRet

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

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

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

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

© 2021 V2EX