首页 > 后端开发 > Golang > 如何将值插入到特定索引处的 Go 切片中?

如何将值插入到特定索引处的 Go 切片中?

Susan Sarandon
发布: 2024-11-19 01:36:02
原创
526 人浏览过

How to Insert a Value into a Go Slice at a Specific Index?

将值插入到给定索引处的切片中

在 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 函数对于小切片大小最有效。对于较大的切片,追加和插入函数性能更好。

处理索引超出范围:

  • 切片。如果索引超出范围,则插入恐慌.
  • 如果索引大于 len(slice),追加和插入函数会自动调整切片大小。

泛型(Go 1.18 及更高版本):

func insert[T any](a []T, index int, value T) []T {
    // Similar to the non-generic function
}
登录后复制

以上是如何将值插入到特定索引处的 Go 切片中?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板