我在select
语句中有以下代码。 finish
的类型为bool
。实际上,只要我收到任何东西,我就不会关心这个价值。但是,Go给了我一个未使用的变量错误。我怎么能绕过它?
case finish := <- termSig:
我目前的解决方法是Println(finish)
。
我曾经尝试过: -
case _ := <- termSig:
但这也不起作用。
答案 0 :(得分:6)
只需省略变量和:=
:
case <-termSig:
答案 1 :(得分:3)
如引入select
时Go Tour所示,您可以设置一个不会初始化新变量的案例。
func fibonacci(c, quit chan int) {
x, y := 0, 1
for {
select {
case c <- x:
x, y = y, x+y
case <-quit: // looks like exactly your use case
fmt.Println("quit")
return
}
}
}