ホームページ >バックエンド開発 >Golang >Go でサイズ変更可能な配列を作成するにはどうすればよいですか?

Go でサイズ変更可能な配列を作成するにはどうすればよいですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-12-28 22:14:11663ブラウズ

How Do I Create Resizable Arrays in Go?

Go でのサイズ変更可能な配列の作成

C では、 std::vector クラスを使用して動的配列を作成する便利な方法が提供されます。 Go では、同様の機能を実現するための標準的なアプローチはスライスを使用することです。

スライスについて

スライスは、基礎となる配列へのビューを表す軽量のデータ構造です。これらを使用すると、元の配列自体を直接変更せずに、配列内の要素を変更できます。スライスは動的にサイズ変更されるため、サイズ変更可能な配列の作成に最適です。

スライスの作成

スライスを作成するには、組み込み関数 make() を使用できます。保存したい要素の型情報とともに:

type mytype struct {
  a, b int
}

func main() {
  // Create a slice of mytype with no elements
  mySlice := make([]mytype, 0)

  // Add elements to the slice using the append() function
  mySlice = append(mySlice, mytype{1, 2}, mytype{3, 4})

  // Modify an element in the slice
  mySlice[0].a = 10
}

append() 関数は次の値を返します。両方の入力スライスの要素が結合された新しいスライス。この例では、mySlice の要素と新しく追加された要素を含む新しいスライスを作成します。

スライスを使用する利点

スライスには、従来の配列を使用する場合に比べていくつかの利点があります。 :

  • 動的なサイズ設定: スライスは必要に応じて拡大または縮小できるため、
  • 再割り当ての必要はありません: スライスのサイズを変更すると、その基礎となる配列のサイズが自動的に変更され、明示的なメモリ管理の必要がなくなります。
  • 効率的: スライスは非常に効率的なデータ構造です。配列全体ではなく、スライスのサイズとバッキング配列に関する情報を含むヘッダーのみを保存するためです。

以上がGo でサイズ変更可能な配列を作成するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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