我正在研究一个 while 循环,它是 Go 中的一个 for,如下面的代码
ele = path.Dir(str)
for ele != "." {
functionA()
ele = path.Dir(ele)
if ele == "." {
functionA()
functionB()
}
}
在上面的代码中,您可以看到我根据 while (for) 中的条件调用了 functionA 两次
有没有更好更简洁的方法来做到这一点?
最佳答案
这是执行相同任务的稍微不同的方式。
更新:更新了答案以反射(reflect)新要求。
ele := path.Dir(str)
if ele == "." {
return
}
for ele != "." {
functionA()
ele = path.Dir(ele)
}
functionA()
functionB()
Playground :https://play.golang.org/p/KbIH7s45aFR
关于for-loop - 在 golang 中写 while (for) 的更好方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51622033/