将值插入到给定索引处的切片中
在 Go 中,可以将值插入到特定索引处的切片中使用各种方法:
使用切片。插入函数(Go 1.21 及更高版本):
result = slices.Insert(slice, index, value)
注意:索引应介于 0 和 len(slice) 之间.
使用追加和赋值运算符:
a = append(a[:index+1], a[index:]...) a[index] = value
使用插入函数:
func insert(a []int, index int, value int) []int { if index == len(a) { // Nil or empty slice, or after last element return append(a, value) } a = append(a[:index+1], a[index:]...) // Step 1+2 a[index] = value // Step 3 return a }
基准:
提供的基准结果表明 slices.Insert 函数对于小切片大小最有效。对于较大的切片,追加和插入函数性能更好。
处理索引超出范围:
泛型(Go 1.18 及更高版本):
func insert[T any](a []T, index int, value T) []T { // Similar to the non-generic function }
以上是如何将值插入到特定索引处的 Go 切片中?的详细内容。更多信息请关注PHP中文网其他相关文章!