猿问

如何从 Go 频道获取(和忽略)一个值

我在select声明中有以下代码。finish是 类型bool。其实,我什至不在乎价值,只要我能收到任何东西。但是,Go 给了我一个未使用的变量错误。我怎样才能绕过它?

case finish := <- termSig:

我目前的解决方法是Println(finish).

我试过:-

case _ := <- termSig:

但这也不起作用。


扬帆大鱼
浏览 169回答 2
2回答

幕布斯6054654

只需省略变量和:=:case&nbsp;<-termSig:

三国纷争

正如Go Tourselect介绍时所示,您可以有一个不初始化新变量的案例。func fibonacci(c, quit chan int) {&nbsp; &nbsp; x, y := 0, 1&nbsp; &nbsp; for {&nbsp; &nbsp; &nbsp; &nbsp; select {&nbsp; &nbsp; &nbsp; &nbsp; case c <- x:&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; x, y = y, x+y&nbsp; &nbsp; &nbsp; &nbsp; case <-quit:&nbsp; // looks like exactly your use case&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; fmt.Println("quit")&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; return&nbsp; &nbsp; &nbsp; &nbsp; }&nbsp; &nbsp; }}
随时随地看视频慕课网APP

相关分类

Go
我要回答