什么';golang代码使用自动售票机出了什么问题 主程序包 进口( “fmt” “时间” ) func main(){ intChan:=make(chan int,1) 股票代码:=time.NewTicker(time.Second) go func(){ 对于uz=range ticker.C{ 挑选{ case intChan
如前所述,ticker.Stop不会关闭频道。所以你们不能期望中断循环。你们可以为退出添加新频道什么';golang代码使用自动售票机出了什么问题 主程序包 进口( “fmt” “时间” ) func main(){ intChan:=make(chan int,1) 股票代码:=time.NewTicker(time.Second) go func(){ 对于uz=range ticker.C{ 挑选{ case intChan,go,channel,ticker,Go,Channel,Ticker,如前所述,ticker.Stop不会关闭频道。所以你们不能期望中断循环。你们可以为退出添加新频道 package main import ( "fmt" "time" ) func main() { intChan := make(chan int, 1) ticker := time.NewTicker(time.Second) go func() { for _ = range ticker.C { sele
package main
import (
"fmt"
"time"
)
func main() {
intChan := make(chan int, 1)
ticker := time.NewTicker(time.Second)
go func() {
for _ = range ticker.C {
select {
case intChan <- 1:
case intChan <- 2:
case intChan <- 3:
}
}
/*defer */
fmt.Println("End. [sender]")
}()
var sum int
for e := range intChan {
fmt.Printf("Received: %v\n", e)
sum += e
if sum > 10 {
fmt.Printf("Got: %v\n", sum)
break
//ticker.Stop()
}
}
fmt.Println("End. [receiver]")
//time.Sleep(10)
}
主程序包
进口(
“fmt”
“时间”
)
func main(){
intChan:=make(chan int,2)
股票代码:=time.NewTicker(time.Second)
退出:=make(chan bool)
go func(){
循环:
为了{
挑选{
case如前所述,ticker.Stop不会关闭频道。所以你们不能期望中断循环。你们可以添加新频道退出
package main
import (
"fmt"
"time"
)
func main() {
intChan := make(chan int, 1)
ticker := time.NewTicker(time.Second)
go func() {
for _ = range ticker.C {
select {
case intChan <- 1:
case intChan <- 2:
case intChan <- 3:
}
}
/*defer */
fmt.Println("End. [sender]")
}()
var sum int
for e := range intChan {
fmt.Printf("Received: %v\n", e)
sum += e
if sum > 10 {
fmt.Printf("Got: %v\n", sum)
break
//ticker.Stop()
}
}
fmt.Println("End. [receiver]")
//time.Sleep(10)
}
主程序包
进口(
“fmt”
“时间”
)
func main(){
intChan:=make(chan int,2)
股票代码:=time.NewTicker(time.Second)
退出:=make(chan bool)
go func(){
循环:
为了{
挑选{
案例