ホームページ  >  記事  >  バックエンド開発  >  golang スライスメソッド Op

golang スライスメソッド Op

WBOY
WBOYオリジナル
2023-05-14 14:40:38453ブラウズ

[前書き]

Go 言語のスライスは非常に一般的なデータ構造であり、動的配列操作によく使用されます。使用中は、スライスの追加、削除、確認、変更などの操作を実行する必要があることがよくあります。Go 言語には、これらの操作を実装するための組み込みメソッドがいくつか用意されています。この記事では、Go言語におけるスライスの基本的な使い方と一般的な方法を詳しく紹介します。

[1. スライスの定義]

スライスは可変長シーケンスであり、次のように定義されます。

var arr []type

ここでの型は、 int 、紐などmake() メソッドを使用してスライスを直接作成することもできます。

arr := make([]type, len, cap)

ここで、len はスライスの長さを表し、cap はスライスの容量を表します。ここで注意が必要なのは、スライスの容量は長さ以上であることです。

[2. スライスの基本操作]

2.1 スライスの走査

range キーワードを使用してスライスを走査できます。コード例は次のとおりです:

arr := []string{"hello", "world", "go"}

for index, value := range arr {
    fmt.Printf("index:%d, value:%s
", index, value)
}

出力 結果は次のようになります:

index:0, value:hello
index:1, value:world
index:2, value:go

2.2 スライスの追加

要素をスライスに追加するには、以下に示すように、append() メソッドを使用できます。 ##ここで、append() メソッドを使用した後、その戻り値をスライスに再割り当てする必要があることに注意してください。

2.3 スライスの削除

スライス内の要素を削除するには、以下に示すように、組み込みの delete() メソッドを使用できます。

var arr []string
arr = append(arr, "hello")

ここでの構文は次のとおりです。

arr[:1]: 0 から 1 までの要素 (1 を除く) を表します、つまり、「hello」;
  • arr[ 2:]: 2 から配列の最後の要素 (2 を除く) まで、つまり "go" を意味し、
  • ... は 2 つのスライスをマージすることを意味します。
  • 最終結果は、インデックス 1 の要素「world」を削除することです。

2.4 スライスの変更

以下に示すように、添え字を使用して値を直接割り当てることにより、スライス内の要素を変更します。

arr := []string{"hello", "world", "go"}

arr = append(arr[:1], arr[2:]...)

出力結果は次のとおりです。

arr := []string{"hello", "world", "go"}

arr[1] = "Golang"

fmt.Println(arr)

[3. 一般的に使用されるスライス方法]

一般的に使用されるスライス方法をいくつか示します:

3.1 len() メソッド

len() メソッドは次のとおりです。スライスの取得に使用されます。スライスの長さのコード例は次のとおりです。

[hello Golang go]

出力結果は次のとおりです。

arr := []string{"hello", "world", "go"}

fmt.Println(len(arr))

3.2 cap() メソッド

cap( ) メソッドを使用してスライスの容量を取得します。コード例は次のとおりです。

3

出力結果は次のとおりです。

arr := make([]string, 3, 5)

fmt.Println(cap(arr))

3.3 copy() メソッド

copy() メソッドは、あるスライスの値を別のスライスにコピーできます。コード例は次のとおりです。

5

出力結果は次のとおりです。

var arr1 = []string{"apple", "banana", "orange"}

var arr2 = make([]string, 3)

copy(arr2, arr1)

fmt.Println(arr2)

3.4 append() メソッド

append() メソッドはスライスに要素を追加するために使用されます。コード例は次のとおりです:

[apple banana orange]

出力結果は次のとおりです:

arr := []string{"hello", "world", "go"}

arr = append(arr, "Golang")

fmt.Println(arr)

3.5 append() メソッドと拡張

スライスの容量が新しい要素を収容するのに十分でない場合、append() メソッドは自動的に容量を拡張します。拡張条件は次のとおりです。新しい要素が 1024 未満の場合、スライスの容量は 2 倍になります。

新しい要素の長さが 1024 以上の場合、容量が十分になるまで拡張するたびに元の容量が 1 /4 ずつ増加します。

  • 3.6 append() メソッドの可変パラメータ
  • append() メソッドの入力パラメータは可変パラメータにすることができ、複数の要素をスライスに追加できます。例は次のとおりです。
  • [hello world go Golang]
出力結果は次のとおりです。

arr := []string{"hello", "world", "go"}

arr = append(arr, "Golang", "Python")

fmt.Println(arr)

[概要]

この記事では、スライスの基本的な使用法と一般的な方法について詳しく説明します。 Go 言語。皆さんのお役に立てれば幸いです。実際のコードでは、スライスを柔軟に使用することでコードをより簡潔かつ効率的にすることができます。

以上がgolang スライスメソッド Opの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。