gpt4 book ai didi

arrays - 尝试仅将唯一元素添加到数组

转载 作者:行者123 更新时间:2023-12-01 20:19:28 27 4
gpt4 key购买 nike

关闭。这个问题是not reproducible or was caused by typos .它目前不接受答案。












想改善这个问题吗?更新问题,使其成为 on-topic对于堆栈溢出。

去年关闭。




Improve this question




我正在尝试跟踪数组中的所有“ worker ”。 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)
}

最佳答案

正如@mkropriva 指出的那样,从未分配过新 Wrkr 的 uuid。

if pollingWrkr == nil {
pollingWrkr = new(Wrkr)
pollingWrkr.uuid = args.WorkerUUID // THIS HERE SOLVED IT!!!
m.workers = append(m.workers, *pollingWrkr) // add worker to list
log.Printf("worker %v added\n", args.WorkerUUID)
}

关于arrays - 尝试仅将唯一元素添加到数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62056608/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com