Golang第三天
不得不说一句,我开始写的部分笔记没有发表,只是保存起来,为什么现在看不到了呢 --------------------------------------------------------------------------- 不得不说的channel 1、channel只能使用make 来创建 2、channel分为两种:一种是有buffer的,另一种是没有buffer的。 备注:有缓冲的channel,先放后取 无缓冲的channel,先取后放 其实说的形象点就是:无缓冲相当于TCP,有缓冲相当于UDP 套用网上文章: 有缓冲 无缓冲的 就是一个送信人去你家门口送信 ,你不在家 他不走,你一定要接下信,他才会走。 无缓冲保证信能到你手上 有缓冲的 就是一个送信人去你家仍到你家的信箱 转身就走 ,除非你的信箱满了 他必须等信箱空下来。 有缓冲的 保证 信能进你家的邮箱 var a string var c = make(chan int,10) func f() { a = "hello,world" c <- 0 } func main() { go f() <-c print(a) }无缓冲
var a string var c = make(chan int) func f() { a = "hello,world" <-c } func main() { go f() c <- 0 print(a) } ----------------------- 设置超时 select { case v := <-c: case <-time.After(3 * time.second) fmt.printlin("超时"); } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |