golang跳出for循环——匿名函数

栏目: Go · 发布时间: 5年前

内容简介:搜索了golang退出for循环的方法,基本都是围绕 break label 和 goto。我觉得这两种方式都存在在程序里乱跳的缺点。想到了一个用匿名函数的方式,记录一下

搜索了golang退出for循环的方法,基本都是围绕 break label 和 goto。我觉得这两种方式都存在在程序里乱跳的缺点。想到了一个用匿名函数的方式,记录一下

匿名函数方式退出for循环

  • 直接上代码
func main(){
    begin := time.Now()
    ch := make(chan int,4)
    for i := 1; i < 5; i++ {
        go worker(ch,i)
    }
    time.Sleep(time.Millisecond )
    func() {
        for{
            select {
            case temp:=<-ch:
                fmt.Println("Read channel : ",temp)
            default:
                return
            }
        }
    }()
    close(ch)
    duration := time.Since(begin)
    fmt.Println("Duration: ",duration)
    time.Sleep(time.Second)
}

func worker(ch chan int,id int){
    fmt.Println("ID:",id,"is sending channel")
    ch <- id
}

以上所述就是小编给大家介绍的《golang跳出for循环——匿名函数》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

算法设计与分析基础

算法设计与分析基础

Anany Levitin / 清华大学出版社 / 2007-11 / 59.00元

作者基于丰富的教学经验,开发了一套对算法进行分类的新方法。这套方法站在通用问题求解策略的高度,能对现有的大多数算法进行准确分类,从而使读者能够沿着一条清晰的、一致的、连贯的思路来探索算法设计与分析这一迷人领域。本书作为第2版,相对第1版增加了新的习题,还增加了“迭代改进”一章,使得原来的分类方法更加完善。 本书十分适合作为算法设计和分析的基础教材,也适合任何有兴趣探究算法奥秘的读者使用,只要......一起来看看 《算法设计与分析基础》 这本书的介绍吧!

图片转BASE64编码
图片转BASE64编码

在线图片转Base64编码工具

RGB HSV 转换
RGB HSV 转换

RGB HSV 互转工具

HSV CMYK 转换工具
HSV CMYK 转换工具

HSV CMYK互换工具