首頁  >  文章  >  後端開發  >  如何將值插入到特定索引處的 Go 切片中?

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

Susan Sarandon
Susan Sarandon原創
2024-11-19 01:36:02454瀏覽

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),追加和插入函數會自動調整切片大小。
func insert[T any](a []T, index int, value T) []T {
    // Similar to the non-generic function
}
泛型(Go 1.18 及更高版本):

以上是如何將值插入到特定索引處的 Go 切片中?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn