附加到作为贴图中的值的切片



我想附加到作为映射值的切片,例如给定mmap[string][]string:

if values, exists := m[key]; exists {
values = append(values, v)
//  I don't want to call: m[key] = values
} else {
m[key] = []string{ v }
}

这显然不起作用,所以我尝试不按原样附加值,而是做一些类似的事情:

valuesPtr := &values
*values = append(values, v)

但这也不起作用。我该怎么做?

您不能这样做。

append返回一个新的切片,因为可能需要调整切片的大小才能完成追加。您必须更新地图以使用新返回的切片,这在没有按键引用的情况下是无法完成的。

相关内容

  • 没有找到相关文章

最新更新