ngnetboy's recent timeline updates
ngnetboy

ngnetboy

V2EX member #337754, joined on 2018-08-01 16:53:41 +08:00
初创公司 vs 外企
职场话题  •  ngnetboy  •  Aug 27, 2019  •  Lastly replied by shimengren
53
博客系统富文本编辑器
问与答  •  ngnetboy  •  Feb 19, 2019  •  Lastly replied by hronro
3
go 后端进阶
问与答  •  ngnetboy  •  Jan 22, 2019  •  Lastly replied by hunterhug
7
iPhone 8 静音模式下震动总是错过来电
iPhone  •  ngnetboy  •  Nov 22, 2018  •  Lastly replied by ngnetboy
8
sublime text3 为什么无法安装 gosublime?
问与答  •  ngnetboy  •  Nov 12, 2018  •  Lastly replied by ngnetboy
7
我是遇到电信诈骗了?
问与答  •  ngnetboy  •  Nov 8, 2018  •  Lastly replied by ThirdFlame
14
如何检测 iPhone 是否正品
iPhone  •  ngnetboy  •  Nov 9, 2018  •  Lastly replied by Fantacy1993
23
双十一抢卷脚本
问与答  •  ngnetboy  •  Oct 24, 2018  •  Lastly replied by dapp98230
2
高级程序员必备技能
调查  •  ngnetboy  •  Oct 17, 2018  •  Lastly replied by ngnetboy
1
ngnetboy's recent replies
Nov 24, 2019
Replied to a topic by xiangxihenli 程序员 想转行做程序员了。
为什么会想不开要转行程序员
果脯
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 会吧缓存中的数据读取完。针对我这个问题是否有个解决方案?
About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2522 Online   Highest 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 24ms · UTC 02:36 · PVG 10:36 · LAX 19:36 · JFK 22:36
♥ Do have faith in what you're doing.