ディレクトリ:
1. 背景
2. golang 配列の基本
- ##3 , golang の配列削除方法
1. 切片删除
2. 数组拷贝删除
ログイン後にコピー
1. 背景
golang 内プログラミング プロセスでは、配列の操作も必要なリンクです。アレイの操作中に、アレイの削除が必要になる場合があります。この記事では、golangの配列を削除する2つの方法を紹介します。
2. Golang 配列の基本
golang では、配列は固定長と同じ型の要素のコンテナーです。配列の長さは配列の定義時に指定する必要があります。長さは配列型の一部であるため、定義後に長さを変更することはできません。
簡単な例を使って golang 配列の基本的な使い方を説明します:
//定义一个长度为3的int型数组
var arr [3]int
// 赋值
arr[0] = 1
arr[1] = 2
arr[2] = 3
// 取值
fmt.Println(arr[0],arr[1],arr[2])
// 输出:1 2 3
ログイン後にコピー
3. Golang 配列の削除方法
golang では、配列はコンテナですが、固定長の性質上、配列内の要素を直接削除することはできません。したがって、実際のアプリケーションでは、次の 2 つの方法で配列内の要素を削除できます。
スライスの削除-
golang では、スライス (スライス) は動的配列です。どちらも連続メモリ空間であり、可変長です。スライスの可変長の性質により、スライスを使用して配列の削除操作を完了できます。
//定义一个长度为3的int型数组
var arr = [3]int{1, 2, 3}
// 将数组转换成切片,进行删除
slice := arr[:]
deleteIndex := 1
if len(slice) > deleteIndex {
slice = append(slice[:deleteIndex], slice[deleteIndex+1:]...)
fmt.Println(slice)
}
// 输出:[1 3]
ログイン後にコピー
上記のコードでは、まず配列をスライスに変換し、次に削除する添え字を指定し、append 関数を使用してスライスから削除された要素を削除します。最後に、削除したスライスを印刷します。
配列のコピーの削除-
配列の長さは不変であるため、golang の copy 関数を使用して削除操作を実装できます。
//定义一个长度为3的int型数组
var arr = [3]int{1, 2, 3}
// 拷贝删除
deleteIndex := 1
if len(arr) > deleteIndex {
arr = append(arr[:deleteIndex], arr[deleteIndex+1:]...)
fmt.Println(arr)
}
// 输出 :[1 3 0]
ログイン後にコピー
上記のコードでは、削除する添え字も指定し、append関数で配列から削除する要素を削除しています。違いは、削除された配列を元の配列に直接再割り当てすることです。
4. 概要
上記 2 つの方法により、golang 配列要素を簡単に削除できます。スライスの削除によりコードの記述が容易になり、配列のコピーの削除により元の配列を直接操作できるようになります。実際の開発では、必要に応じて 2 つの方法を柔軟に使い分けることができます。
以上がgolangで配列要素を削除する方法(2つの方法)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。