指定されたインデックスのスライスに値を挿入する
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 中国語 Web サイトの他の関連記事を参照してください。