golang数组越界问题

task 是一个 []string
Delete 是task安全的删除方法,同时还有Push等方法..

for{
    select{
        case <-chan:
            return
        case <-time.After(time.Second * 5):
            if(len(task) > 0){
                arr := make([]string,len(task))
                copy(arr,task)
                for k, v := range arr{
                    ....
                    task.Delete(k)
                }
            }
    }
}

这样运行一段时间,就报错task删除越界,
请问这段代码有什么问题?

阅读 4.3k
1 个回答

Delete是怎么安全了..你锁加在哪里啊

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题