问题是关于从 once
of the standard go library中提取的以下片段中的pipe.go
变量的用法
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则没有。
关于go - 以下代码段中〜once〜变量的含义是什么?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/49683124/