golang 無制限の配列

PHPz
PHPzオリジナル
2023-05-27 10:16:37486ブラウズ

Go 言語 (Go) は、Google が開発したオープンソースのプログラミング言語で、実行速度が非常に速く、効率性に優れているため、現代のソフトウェア開発の分野で広く普及しています。 Go では、配列は要素のコレクションであるデータ構造であり、要素はすべて同じ型である必要があります。 Go では、配列のサイズは固定されています。つまり、可変サイズの配列はサポートされていません。ただし、Go は配列を処理するための強力な機能をいくつか提供しており、さまざまなアプリケーション シナリオで配列を適切に実行できます。

配列とは、同じ型の限られた数の要素で構成される集合であり、要素の型に応じて、整数配列、文字列配列、浮動小数点配列などに分類できます。配列の長さは固定されており、長さが宣言されて決定されると、新しい要素を追加したり、要素を削除したりすることはできません。 Go 言語は静的型付け言語であるため、配列を宣言するときにすべての要素の型を指定する必要があります。たとえば、次は 5 つの整数要素を含む配列を宣言します:

var arr [5]int

Go では、次の構文を使用して配列を宣言して初期化することもできます:

arr := [5]int{10, 20, 30, 40, 50}

上記のステートメントは次のように宣言します。 5 つの整数要素の配列であり、{10, 20, 30, 40, 50} に初期化されます。配列内の要素には、0 から始まり配列長から 1 を引いた最大値を持つ配列添字を介してアクセスできます。例:

fmt.Println(arr[0]) //输出10

Go では、for ループを使用して配列内の要素を走査することもできます。例:

for i := range arr {
    fmt.Println(arr[i])
}

上記のコードは、配列 arr 内のすべての要素を走査します。コンソールに出力します。

ただし、実際のアプリケーションでは配列の長さが不定な場合があり、その場合はスライスのデータ構造を使用する必要があります。配列とは異なり、スライスは可変長です。 Go では、スライスは、基礎となるデータ ストレージ構造のメモリ アドレスを指す参照型です。スライスは次のように宣言されます。

var slice []int //声明一个空的整型切片

次の構文を使用して、初期要素でスライスを宣言することもできます。

slice := []int{1, 2, 3, 4, 5}

Go では、スライスの長さは、ビルドされた-in 関数 len()。例:

fmt.Println(len(slice))

上記のコードは配列の長さ 5 を出力します。さらに、スライスの append() 関数を使用して要素をスライスに追加できます。例:

slice = append(slice, 6)

上記のコードは、スライスの最後に要素 6 を追加します。

Go では、make() 関数を使用して、指定した型と長さのスライスを作成することもできます。例:

slice := make([]int, 3)

上記のコードは、長さ 3 の整数スライスを作成します。

スライスは for ループを使用して走査することもでき、構文は配列の構文と似ています。例:

for i := range slice {
    fmt.Println(slice[i])
}

上記のコードはスライス全体を走査し、各要素をコンソールに出力します。スライスをソートする必要がある場合、Go 言語にはスライスを便利にソートできる sort パッケージが用意されています。

一般に、Go 言語の配列およびスライス操作は非常に柔軟で、さまざまなニーズを満たすことができます。固定長の配列を作成する場合でも、可変長のスライスを作成する場合でも、Go はそれを実現するためのシンプルで使いやすい構文を提供します。 Go では、スライスは最も広く使用されているデータ構造の 1 つであり、配列の利点だけでなく、動的配列のニーズも満たしており、Go 言語プログラミングには不可欠な部分です。

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

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