我试图跟踪阵列中所有的“工人”。 m
是具有字符串字段uuid的结构,args
也是如此。我不确定这里出什么问题,但是代码会一次又一次地(使用代码时)添加具有相同uuid的工作程序。
任何帮助将不胜感激。
P.S:可以同时调用此代码(但是该代码是互斥锁的,因此并不重要)
var pollingWrkr *Wrkr
pollingWrkr = nil
for idx,w := range m.workers {
if w.uuid == args.WorkerUUID {
pollingWrkr = &m.workers[idx]
break
}
}
// add new worker
if pollingWrkr == nil {
pollingWrkr = new(Wrkr)
m.workers = append(m.workers,*pollingWrkr) // add worker to list
log.Printf("worker %v added\n",args.WorkerUUID)
}