本文摘自php中文网,作者藏色散人,侵删。
下面由golang教程栏目给大家介绍关于golang select典型用法,希望对需要的朋友有所帮助!code
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 | package main
import (
"fmt"
"time"
)
func chanTest(ch chan int) {
for {
fmt.Println(value, ok, time.Now()) if ok == false {
fmt.Println( "chan已经关闭" , time.Now())
return
} default :
fmt.Println( "chan 空了" , time.Now()) time.Sleep(time.Second * 5)
}
}
}
func main() {
var ch = make(chan int, 100) go chanTest(ch)
ch <- 1
ch <- 2
time.Sleep(time.Second * 2)
ch <- 3
ch <- 4
time.Sleep(time.Second) close(ch) for { time.Sleep(time.Second)
}
}
|
需要注意的是,select的 defalut会丢弃数据,chan已满的情况,入chan的数据会被丢弃
以上就是关于golang select典型用法的详细内容,更多文章请关注木庄网络博客!!
相关阅读 >>
embed小技巧-动态文件更新
golang 获取当前外网ip/地址/运营商
golang切片需要make吗
go语言的时间获取
golang无法导包怎么办?
什么是量化交易|量化交易平台
go 时间格式化 字符串格式化为时间格式
gfast v1.2.1 发布
cis 657 nachos system calls for file i/o
golang to docker
更多相关阅读请进入《golang》频道 >>
老貘
一个与时俱进的Go编程知识库。
转载请注明出处:木庄网络博客 » 关于golang select典型用法