使用以下 select 语句,我想确保一些非阻塞函数只一个接一个地执行:
select {
case <-available:
default:
fmt.Println("busy")
return
}
go func() {
defer func() { available <- true }()
doSomethingOneByOne()
}()
目前我正在使用boolas 通道类型,它按预期工作。
我不喜欢的是 usingbool表明值是trueor很重要false。但实际上在这种情况下并不重要。在我看来,这会让人更难理解代码,因为它具有误导性。
当值无关紧要时,是否有使用哪种类型的约定?
缥缈止盈
相关分类