golang chansync_receive.go
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了golang chansync_receive.go相关的知识,希望对你有一定的参考价值。
package main
import (
"fmt"
"sync"
)
var wg sync.WaitGroup
func f(msg string, n int) chan string {
ch := make(chan string)
go func() {
for i:=0; i<n; i++ {
ch <- msg + " please!"
}
wg.Done()
}()
return ch
}
func main() {
wg.Add(3)
ch1 := f("beer", 4)
ch2 := f("juice", 2)
ch3 := f("water", 1)
done := make(chan bool)
go func() {
wg.Wait()
done <- true
}()
L:
for {
select {
case msg := <-ch1:
fmt.Println(msg)
case msg := <-ch2:
fmt.Println(msg)
case msg := <-ch3:
fmt.Println(msg)
case <-done:
break L
}
}
fmt.Println("exit")
}
Golang入门到项目实战 golang匿名函数
参考技术A
go语言函数不能嵌套,但是在函数内部可以定义匿名函数,实现一下简单功能调用。
所谓匿名函数就是,没有名称的函数。
语法格式如下:
当然可以既没有参数,可以没有返回值
运行结果
自己执行
运行结果
以上是关于golang chansync_receive.go的主要内容,如果未能解决你的问题,请参考以下文章
Golang入门到项目实战 第一个golang应用
golang编译androidso无法加载
golang如何打印内存内容
Golang入门到项目实战 golang匿名函数
json [Golang] golang #golang #snippets中有用的片段
golang使用成本高