golangで配列から特定の要素を削除する方法
配列長は固定で、要素削除はできませんが、指定した要素にnilを代入することで削除ができます。
よくある手法としては、削除対象を除いた元の配列と、最終的な結果の配列の2つの配列を使う方法があります。
func deleteElement(arr []int, target int) []int {
var newArray []int
for _, num := range arr {
if num != target {
newArray = append(newArray, num)
}
}
return newArray
}
ネイティブな日本語で言い換えてください。オプションは1つだけで構いません。使用例:
arr := []int{1, 2, 3, 4, 5}
target := 3
result := deleteElement(arr, target)
fmt.Println(result) // Output: [1 2 4 5]
上の例では、関数 deleteElement は整数配列と対象となる要素を受け取り、対象となる要素を含まない新しい配列を返します。
ループ中で、全ての配列要素がターゲット要素と等しくないかチェックし、等しくない場合は newArray に追加します。最後に、newArray を結果として返します。
この方法は元の配列を直接変更せずに、新しい配列を作成することに注意してください。元の配列を変更する必要がある場合は、newArray の値を元の配列にコピーバックできます。