Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/go/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/EmptyTag/137.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
什么';golang代码使用自动售票机出了什么问题 主程序包 进口( “fmt” “时间” ) func main(){ intChan:=make(chan int,1) 股票代码:=time.NewTicker(time.Second) go func(){ 对于uz=range ticker.C{ 挑选{ case intChan_Go_Channel_Ticker - Fatal编程技术网

什么';golang代码使用自动售票机出了什么问题 主程序包 进口( “fmt” “时间” ) func main(){ intChan:=make(chan int,1) 股票代码:=time.NewTicker(time.Second) go func(){ 对于uz=range ticker.C{ 挑选{ case intChan

什么';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

如前所述,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(){
循环:
为了{
挑选{
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(){
循环:
为了{
挑选{
案例