该
tag变量在循环开始时声明一次,
tag每次迭代都会覆盖的值。这是与在FAQ中看到的相同问题:“以goroutine运行闭包会发生什么?”
您可以在每次迭代期间声明一个新变量,以获取函数调用的唯一指针:
for _, tag := range htmlTag.ChildTags { tag := tag getAllCertainDivs(className, idName, &tag, matchingDivs)}或者,您可以忽略范围值,并直接使用索引:
for i := range htmlTag.ChildTags { getAllCertainDivs(className, idName, &htmlTag.ChildTags[i], matchingDivs)}


