Go

Goのデータ構造

Arrays、slices、maps、structs、pointers、make と new、nil 値

20 面接問題·
Junior
1

Goのsliceとは何ですか?

回答

sliceは、基となるarrayに対する動的なビューであり、可変長の要素シーケンスを操作できます。コンパイル時に固定サイズが決まるarrayとは異なり、sliceはappendなどの操作によって動的に拡大または縮小できます。この柔軟性により、sliceは同種の要素のコレクションを格納するためにGoで最もよく使われる連続的なデータ構造となっています。

2

Goにおけるarrayとsliceの主な違いは何ですか?

回答

根本的な違いはサイズにあります。arrayはコンパイル時に決まる固定サイズを持ち、その型自体の一部となりますが、sliceは実行時に変化しうる動的なサイズを持ちます。この違いにより、サイズの異なる2つのarrayは互換性のない型と見なされますが、同じ要素型のsliceはすべて互換性があります。そのため、sliceはより柔軟で、現代のGoコードでより一般的に使われます。

3

Goで空のsliceを作成するにはどうすればよいですか?

回答

空の角括弧に続けて空の波括弧を書くリテラル構文は、初期化された空のsliceを作成する慣用的な方法です。この方法は長さ0かつnilではないsliceを作成し、appendによって要素を追加する準備ができています。nilのsliceになる単純な宣言とは異なり、この明示的な初期化により、要素追加時に予期しない動作のリスクなく、すぐに使えるsliceが保証されます。

4

特定の容量でsliceを初期化するにはどの関数を使いますか?

5

容量に達したsliceに要素を追加すると何が起こりますか?

+17 面接問題

次の面接に向けてGoをマスター

すべての問題、flashcards、技術テスト、コードレビュー演習、面接シミュレーターにアクセス。

無料で始める