以下代码片段中的 ~once~ 变量是什么意思?

What the meaning of the ~once~ variable in the following code snippet?

问题是关于从 pipe.go of the standard go library

中提取的以下片段中的 once 变量的用法
for once := true; once || len(b) > 0; once = false {
    select {
    case p.wrCh <- b:
        nw := <-p.rdCh
        b = b[nw:]
        n += nw
    case <-p.done:
        return n, p.writeCloseError()
    }
}

我的理解是,只要len(b) > 0循环就不会终止,循环至少会执行一次。

那为什么不写

for len(b) > 0 { ... }

看起来 once 被用来制作一个 do ... while(condition); 循环,Go 没有。