ホームページ  >  記事  >  バックエンド開発  >  golang の可変長配列

golang の可変長配列

WBOY
WBOYオリジナル
2023-05-13 11:50:361455ブラウズ

Golang は高速かつ効率的なプログラミング言語です。そのネイティブ配列は固定長にすることができますが、多くのシナリオでは、固定長でない配列を使用する必要があります。この場合、golang を使用して可変長配列を構築するにはどうすればよいでしょうか?

Slice は、golang で可変長配列を構築するために使用できます。これは参照型であり、動的な拡張を実現できます。スライスは 3 つの部分、つまり、基になる配列へのポインター、スライスの長さ、容量で構成されます。配列と同様に使用されますが、いくつかの拡張機能があります。

golang では、make() 関数を使用してスライスを作成します。 make() 関数は配列を作成し、その配列への参照を返します。この参照がスライスです。 make() 関数は 2 つのパラメーターを受け入れます。最初のパラメーターは配列の型、2 番目のパラメーターは配列の長さです。もちろん、スライスの長さは作成時に決定する必要はなく、任意の値にすることができます。

append() 関数を使用して要素をスライスに追加します。スライスに要素を追加すると、容量が不足するとスライスが自動的に拡張されます。各拡張の容量は前の拡張の 2 倍であることに注意してください。

以下は、スライスを使用して可変長配列を構築する方法を示す簡単な例です:

package main

import "fmt"

func main() {
    var arr []int
    arr = make([]int, 0)

    arr = append(arr, 1, 2, 3, 4, 5)

    fmt.Println(arr)
}

上の例では、まず変数 arr を宣言し、それを空のスライスに初期化します。 。次に、make()関数を使って長さ0のint型の配列を作成し、arrに代入します。次に、append() 関数を使用して要素を arr に追加します。最後に、arr の値を出力します。

make() 関数を使用してスライスを作成する以外に、スライスを作成する別の方法があります。スライス変数を宣言する場合、スライスの値を直接指定できます。このメソッドはスライス リテラルとも呼ばれます:

package main

import "fmt"

func main() {
    arr := []int{1, 2, 3, 4, 5}

    fmt.Println(arr)
}

上の例では、スライス変数 arr を直接宣言し、配列として初期化しています。 5 つの要素を含む int 型。

要約すると、golang のスライスは動的に拡張できる可変長配列です。make() 関数を使用してスライスを作成し、append() 関数を使用してスライスに要素を追加します。スライスは複数の変数から参照できる参照型であり、1 つの変数の値を変更すると、そのスライスを参照するすべての変数の値に影響します。したがって、スライスの使用方法と受け渡し方法には注意が必要です。

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

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