首页   注册   登录
 ngnetboy 最近的时间轴更新

ngnetboy

V2EX 第 337754 号会员,加入于 2018-08-01 16:53:41 +08:00
初创公司 vs 外企
职场话题  •  ngnetboy  •  50 天前  •  最后回复来自 shimengren
53
博客系统富文本编辑器
问与答  •  ngnetboy  •  239 天前  •  最后回复来自 hronro
3
go 后端进阶
问与答  •  ngnetboy  •  267 天前  •  最后回复来自 hunterhug
7
iPhone 8 静音模式下震动总是错过来电
iPhone  •  ngnetboy  •  328 天前  •  最后回复来自 ngnetboy
8
sublime text3 为什么无法安装 gosublime?
问与答  •  ngnetboy  •  337 天前  •  最后回复来自 ngnetboy
7
我是遇到电信诈骗了?
问与答  •  ngnetboy  •  342 天前  •  最后回复来自 ThirdFlame
14
如何检测 iPhone 是否正品
iPhone  •  ngnetboy  •  341 天前  •  最后回复来自 Fantacy1993
23
双十一抢卷脚本
问与答  •  ngnetboy  •  357 天前  •  最后回复来自 dapp98230
2
高级程序员必备技能
调查  •  ngnetboy  •  364 天前  •  最后回复来自 ngnetboy
1
ngnetboy 最近回复了
果脯
26 天前
回复了 buhuiqizi 创建的主题 问与答 各位大佬,为什么 GO 结构体成员不能用:=
Golang 不允许这么做。
@iuoui 老哥稳,改成 cancel 之后不立即返回,等待 goroutine 完成就可以了。
@xkeyideal 老哥帮忙指导一下。
@pubby 正常情况下 chan 都写入是可以保证的,只不过出现错误的时候,就需要终止所有的操作,因为出现错误之后,剩下的操作就没有意义了。
有一个办法就是不关闭 channel,让 GC 自动回收资源。
@pubby 改成这样,仍然会 panic。
@visitant 感觉这个问题无解啊,我把缓存改成 1,并把读取的函数改成如下:还是会出现 panic
```` golang
go func(ctx context.Context) {
for value := range detailChan {
fmt.Println("range ", value)
select {
case <-ctx.Done():
return
default:
result[value.ID] = value
}
}
}(ctx)
````
@xkeyideal 哦,对,channel 关闭之后,for range 会吧缓存中的数据读取完。针对我这个问题是否有个解决方案?
@visitant 老哥,你说的不对啊,所有的 channel 关闭之后,for range 就不会继续进行了。
关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   2819 人在线   最高记录 5043   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.3 · 17ms · UTC 12:01 · PVG 20:01 · LAX 05:01 · JFK 08:01
♥ Do have faith in what you're doing.