我编写了一些代码,每 30 分钟同时轮询一次 URL:
func (obj * MyObj) Poll() {
for ;; {
for _, url := range obj.UrlList {
//Download the current contents of the URL and do something with it
}
time.Sleep(30 * time.Minute)
}
//Start the routine in another function
go obj.Poll()
然后我将如何添加到代码中其他地方的 obj.UrlList 并确保下次轮询 URL 时 Poll goroutine 中的 UrlList 也已更新,因此也会轮询新 URL?
我知道在 Go 中内存是通过通信而不是相反的方式共享的,并且我已经研究了通道,但是我不确定如何在此示例中实现它们。