golang 配列の要素を削除する

王林
リリース: 2023-05-15 09:03:37
オリジナル
471 人が閲覧しました

Golang では、配列要素の削除は比較的面倒な作業です。配列の長さは作成時に決定されるため、要素を簡単に削除または追加することはできません。対照的に、スライスは必要に応じて長さを動的に調整できるため、より良い選択です。ただし、すでに配列を操作していて、そこからいくつかの要素を削除する必要がある場合は、これを実現するいくつかの方法を次に示します。

  1. 削除する要素にゼロ値を割り当てます
    これは最も単純な方法です。削除する要素は、その型のゼロ値に置き換えることができます。たとえば、配列内の要素が文字列の場合、削除する文字列を空の文字列に置き換えることができます。配列内の要素が数値の場合は、ゼロに置き換えることができます。

次は、このメソッドを実装するサンプル コードです:

func deleteElement(arr []int,index int) []int {
arr[index] = 0
return arr
}

  1. append() を使用する
    もう 1 つの方法は、append() 関数を使用することです。この方法を使用する場合は、新しいスライスを作成し、保持したい要素を新しいスライスにコピーする必要があります。削除する必要がある要素は、コピー プロセス中にスキップできます。最後に、元の配列が新しいスライスで上書きされます。このメソッドは配列に対してのみ使用でき、配列へのポインターには使用できないことに注意してください。

次は、このメソッドを実装するサンプル コードです。

func deleteElement(arr []int,index int) []int {
newSlice := make([ ] int, len(arr)-1)
copy(newSlice, arr[:index])
copy(newSlice[index:], arr[index 1:])
return newSlice
}

  1. 配列の代わりにスライスを使用する
    要素を頻繁に追加または削除する必要がある場合は、配列の代わりにスライスを使用します。スライスは動的に成長して長さを調整できるため、より柔軟になります。

たとえば、次のコードでは配列の代わりにスライスを使用します。

package main

import "fmt"

func main() {
var スライス []int = []int{1, 2, 3, 4, 5, 6}
fmt.Println(slice) // [1 2 3 4 5 6]
スライス = 追加(slice[ :2], slide[3:]...)
fmt.Println(slice) // [1 2 4 5 6]
}

ここで、最初にint型のスライスを作成し、その値を初期化します。次に、append() 関数を使用して、スライスから要素を削除します。

まとめ
Golangで配列要素を削除するのは面倒ですが、この3つの方法を使えば簡単に実現できます。要素を頻繁に追加または削除する必要がある場合は、スライスを使用することをお勧めします。実装方法がわからない場合は、上記のサンプルコードを参照してください。

以上がgolang 配列の要素を削除するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!