golang 配列の削除

WBOY
リリース: 2023-05-16 11:03:07
オリジナル
708 人が閲覧しました

golang の配列は順序付けされたデータ構造であり、その長さは固定されており、一度作成されると長さを変更することはできません。したがって、golang での配列要素の削除操作は、スライスほど柔軟ではありません。

それでは、golang で配列内の要素を削除するにはどうすればよいでしょうか?まず、golang での配列の基本的な操作を理解する必要があります。

1. 配列の定義

golang では、次の方法で配列を定義できます:

var arr [5]int

このように、define 長さ 5 の int 配列が得られます。配列要素は次の方法で初期化できます:

arr := [5]int{1, 2, 3, 4, 5}

2. 配列トラバーサル

golang for ループを使用して配列を走査することができます。コード例は次のとおりです:

for i:=0; i

fmt.Println(arr[i])
ログイン後にコピー

}

は range キーワードも使用できます。コード例は次のとおりです:

for Index, value := range arr {

fmt.Println(index, value)
ログイン後にコピー

}

3. Get golang の配列の長さ

# 配列の長さは len() 関数を通じて取得できます。コード例は次のとおりです:

length := len(arr)

次に、配列内の要素を削除する方法を見てみましょう。

1. 配列要素をデフォルト値に設定する

golang では配列要素をデフォルト値に設定することができ、型に応じて初期値が決まります。したがって、配列から要素を削除する場合は、対応する要素をデフォルト値に設定するだけで済みます。たとえば、3 番目の要素を削除する場合のコード例は次のとおりです。

var arr [5]int = [5]int{1, 2, 3, 4, 5}
arr[2] = 0
for _, value := range arr {

fmt.Println(value)
ログイン後にコピー
ログイン後にコピー

}

これにより 3 番目の要素が削除され、その値は 0 となり、出力結果は次のようになります: 1 2 0 4 5.

しかし、この方法には問題があり、削除後の配列にはデフォルト値が残ってしまいます。配列内の要素が文字列またはカスタム型の場合、それらのデフォルト値は希望どおりではない可能性があります。

2. スライスを使用して削除を実現する

golang のスライスは、元の配列の長さを変更せずに要素を簡単に削除できる強力なデータ構造です。したがって、スライスを使用して配列から要素を削除できます。

具体的な手順は次のとおりです:

1. 配列をスライスに変換します

2. append() 関数を使用して、スライス内の削除する要素

3. スライスを配列に変換します

以下はサンプル コードです:

var arr [5]int = [5 ]int{1, 2, 3, 4, 5}
slice := arr[:]
slice = append(slice[:2], slide[3:]...)
for _ 、値 := 範囲スライス {

fmt.Println(value)
ログイン後にコピー
ログイン後にコピー

}

まず、配列をスライスに変換し、スライス内のインデックス 2 の要素 (つまり 3 番目の要素) を削除します。次に、スライスを配列に変換し直します。出力結果は 1 2 4 5 です。

配列要素をスライスして削除する方法は、要素を削除するだけでなく、要素の位置を変更したり、任意の数の要素を削除したりすることもできます。したがって、実際の開発において要素の追加、削除、変更を頻繁に行う必要がある場合には、配列ではなくスライスを使用することをお勧めします。

要約:

golang では、配列要素を削除する方法はスライスほど柔軟ではありませんが、デフォルト値またはスライスを使用して削除操作を実装できます。実際の開発では、実情に応じて適切な方法を選択することをお勧めします。

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

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート