在golang中编写(for)的更好方法

时间:2018-07-31 21:03:40

标签: for-loop go while-loop

我正在下面的代码中进行for的while循环

ele = path.Dir(str)
for ele != "." {
    functionA()
    ele = path.Dir(ele)
    if ele == "." {
        functionA()
        functionB()
    }
}

在上面的代码中,您可以看到我基于while(for)内的条件两次调用functionA

是否有更好,更清洁的方法来做到这一点?

1 个答案:

答案 0 :(得分:1)

执行相同任务的方式略有不同。

更新:更新了答案以反映新要求。

ele := path.Dir(str)
if ele == "." {
    return
}
for ele != "." {
    functionA()
    ele = path.Dir(ele)
}
functionA()
functionB()

游乐场:https://play.golang.org/p/KbIH7s45aFR