golang channel string 信号乱码
2016-07-23 14:59
507 查看
原因golang代码编写是允许在同一个forselect代码结构中使用相同的变量名,这样会造成运行时chan发送的内容出现乱码现象,乱码率大概在98%左右,所以这是一个坑,希望大家别重复踩坑。以下是代码说明:
varDelHubschanstring=make(chanstring) varDelHubchanstring=make(chanstring)
gofunc(){ Deller.DelHub<-key }()
//会出现乱码的代码,我在两个不同的chan中定义并使用了两个相同命名的变量,这就是造成乱码问题所在
funcdelChan(){
for{
select{
caseukey,ok:=<-Deller.DelHubs:
ifok{
hs,err:=hubStartWith(ukey)
iferr!=nil{
break
}
for_,v:=rangehs{
ukeyhid:=ukey+":"+strconv.FormatInt(v.Id,10)
del(ukeyhid)
godeldos(ukeyhid)
}
}
caseukeyhid,ok:=<-Deller.DelHub:
ifok{
del(ukeyhid)
godeldos(ukeyhid)
}
}
}
}
//解决方法,很简单只要改成各自不同的变量名就可以
funcdelChan(){
for{
select{
caseukey,ok:=<-Deller.DelHubs:
ifok{
hs,err:=hubStartWith(ukey)
iferr!=nil{
break
}
for_,v:=rangehs{
delhubs:=ukey+":"+strconv.FormatInt(v.Id,10)
del(delhubs)
godeldos(delhubs)
}
}
casedelhub,ok:=<-Deller.DelHub:
ifok{
del(delhub)
godeldos(delhub)
}
}
}
}
相关文章推荐
- 【CodeForces 266C】Below the Diagonal(模拟)
- Backtracking Algorithm
- mongo3.x ssl版安装文件
- 在Windows上安装Django框架
- Good books to read
- POJ 2195Going Home(最小费用最大流)
- 实时 Django 终于来了 —— Django Channels 入门指南
- 计算几何:极角排序(poj 2007 Scrambled Polygon)与简单凸包(poj 1113 Wall)
- django--模型元选项(八)
- TYVJ 2009 Lagoon
- django--模板(七)
- robomongo
- golang中strconv.ParseInt函数用法示例
- golang简单读写文件示例
- golang image图片处理示例
- golang实现通过smtp发送电子邮件的方法
- mongo
- HDU1397 POJ2909 UVA686 UVALive5674 ZOJ1657 Goldbach's Conjecture(II)【水题+打表】
- 正确使用goto语句
- QML的渲染方式相较于之前的版本也有了重大的更新(CPU线程负责绘制,GPU线程负责渲染),还有好多经常评论 good