使用以下select语句,我想确保一些非阻塞函数只是逐个执行:
select {
case <-available:
default:
fmt.Println("busy")
return
}
go func() {
defer func() { available <- true }()
doSomethingOneByOne()
}()
Run Code Online (Sandbox Code Playgroud)
目前我正在使用它bool作为频道类型,它按预期工作.
我不喜欢的是使用bool表明,如果值是true或者重要的话false.但实际上在这种情况下并不重要.在我看来,这使得理解代码更加困难,因为它具有误导性.
当值无关紧要时,是否存在使用哪种类型的约定?
go ×1