[英]Why does slices.Delete() in golang copy the next element?
示例代码:
func main() {
bar := []string{"Monday", "Tuesday", "Wednesday"}
slices.Delete(bar, 0, 1) // I want to delete 'Monday'
fmt.Println(bar) // prints [Tuesday Wednesday Wednesday]
}
我不明白为什么我会得到一份“星期三”。 我期待一个二元素切片。
slices.Delete
返回修改后的切片。 您应该将其用作:
bar=slices.Delete(bar, 0, 1)
这是因为删除操作移动了切片中的元素,然后返回一个更短的切片,但原始切片bar
保持不变。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.