ホームページ > バックエンド開発 > Golang > golang のフロー配列について学ぶ

golang のフロー配列について学ぶ

PHPz
リリース: 2023-04-21 15:01:14
オリジナル
453 人が閲覧しました

Golang は近年注目を集め、多くの開発者に愛されているプログラミング言語です。 golang は他の言語と比べて独自の技術や機能が多くあり、その一つにフロー配列(スライス)があります。フロー配列は配列に似たデータ構造ですが、配列とは異なり、フロー配列は要素を動的に追加または削除できるため、より柔軟で適応性が高くなります。 golang のフロー配列を見てみましょう。

1. フロー配列の定義と初期化

golang では、フロー配列の定義は、make() 関数を使用するか、[]T{} を直接使用して初期化できます。このうち、make() 関数の構文は次のとおりです。

make([]T, length, capacity) //定义一个长度为length,初始容量为capacity的流转数组
ログイン後にコピー

このうち、T は循環配列の要素の型を表し、length は循環配列の長さを表し、capacity は初期値を表します。循環アレイの容量。ここで注意すべき点は、長さと容量が等しい必要はなく、容量が長さより小さい場合、要素を追加するときに容量が自動的に拡張されます。

たとえば、長さが 0、初期容量が 10 の整数転送配列を定義できます。

a := make([]int, 0, 10)
ログイン後にコピー

さらに、 []T{} を使用して直接初期化するための構文は次のとおりです。

[]T{a,b,c}  // 定义一个包含a、b、c三个元素的流转数组
ログイン後にコピー

たとえば、次のように 3 つの整数要素を含むフロー配列を定義できます:

b := []int{1, 2, 3}
ログイン後にコピー

2. フロー配列の操作

フロー配列は次のようになります。次の方法で転送されます。要素の追加、要素の削除、要素の変更、長さおよび容量の操作を実行します。

1. 要素の追加

golang では、append() 関数を使用してフロー配列に要素を追加できます。構文は次のとおりです:

append(slice []T, element ...T) []T
ログイン後にコピー
ログイン後にコピー

、slice は追加することを意味します要素のフロー配列、element は追加する要素を表します。 append() 関数は新しいフロー配列を返し、元のフロー配列は変更されていないことに注意してください。

たとえば、次のように整数要素 1 を a に追加できます:

a = append(a, 1)
ログイン後にコピー

同時に、複数の要素を a に追加することもできます:

a = append(a, 1, 2, 3)
ログイン後にコピー

2 . 要素の削除

は要素の追加と似ています. append() 関数を使用して循環配列の要素を削除することもできます. 構文は次のとおりです:

append(slice []T, element ...T) []T
ログイン後にコピー
ログイン後にコピー

このうち、スライスは を表します削除する要素の循環配列、その後に続く The...T は可変引数パラメーターを表します。つまり、1 つ以上の要素を削除できます。 append() 関数は新しい転送配列も返し、元の転送配列は変更されていないことに注意してください。

たとえば、次のように a の最初の要素を削除できます:

a = append(a[:0], a[1:]...)
ログイン後にコピー

... ここでの... ここでは、a[1:] 内のすべての要素を a[:0 に 1 つずつ追加することを意味します。 one ] これにより、a の最初の要素を削除するという目的が達成されます。同様に、複数の要素を削除することもできます。

a = append(a[:0], a[3:]...)
ログイン後にコピー

上記のコードは、a の 0 番目から 2 番目 (3 番目を除く) の要素を削除できます。

3. 要素の変更

他の言語と同様、フロー配列内の要素は添字を使用して直接変更できます。

たとえば、次のように a の最初の要素を 5 に変更できます:

a[0] = 5
ログイン後にコピー

4. 長さと容量の操作

len を使用して、長さを転送できます。 array()関数で取得する場合、cap()関数で容量を取得できます。

たとえば、次のように長さと容量を取得できます:

println(len(a))
println(cap(a))
ログイン後にコピー

同時に、組み込みの copy() 関数を使用して転送アレイ間でコピーすることもできます。 :

b := make([]int, len(a), cap(a))
copy(b, a)
ログイン後にコピー

3. 概要

フロー配列は、複数のシナリオに適した柔軟なデータ構造として、golang 開発で広く使用されています。フロー配列を使用すると、要素の追加、削除、変更、走査などの一般的な操作を実行できるだけでなく、組み込み関数を使用して並べ替えや検索などのより複雑な操作を実装することもできます。したがって、フロー配列の使用を理解し、習得することは、golang 開発者の作業効率とコードの品質に重要な影響を与えます。

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

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