如何从Go通道获取(并忽略)值
我在如何从Go通道获取(并忽略)值,go,channel,Go,Channel,我在select语句中有以下代码完成的类型为bool。事实上,只要我收到任何东西,我甚至不在乎它的价值。然而,Go给了我一个未使用的变量错误。我怎样才能避开它 case finish := <- termSig: 但这也不行 只需省略变量和:=: case <-termSig: case如引入select时所示,可以使用不初始化新变量的case func fibonacci(c, quit chan int) { x, y := 0, 1 for {
select
语句中有以下代码<代码>完成的类型为bool
。事实上,只要我收到任何东西,我甚至不在乎它的价值。然而,Go给了我一个未使用的变量错误。我怎样才能避开它
case finish := <- termSig:
但这也不行 只需省略变量和
:=
:
case <-termSig:
case如引入select
时所示,可以使用不初始化新变量的case
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
}
}
}
func fibonacci(c,quit-chan-int){
x、 y:=0,1
为了{
挑选{
案例c我想知道否决票。你不能宣布\uuu
,尽管没有必要,第二个可能会用case\u=@AsadIqbal我否决了,因为“这个问题没有显示任何研究成果。”正如我在回答中指出的那样,官方教程在第一页提到select
,正好显示了这个用例,因此几乎不可能不让您自己看到。
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
}
}
}