
Goのデータ構造
Arrays、slices、maps、structs、pointers、make と new、nil 値
20 面接問題·
Junior
1Goのsliceとは何ですか?
1
Goのsliceとは何ですか?
回答
sliceは、基となるarrayに対する動的なビューであり、可変長の要素シーケンスを操作できます。コンパイル時に固定サイズが決まるarrayとは異なり、sliceはappendなどの操作によって動的に拡大または縮小できます。この柔軟性により、sliceは同種の要素のコレクションを格納するためにGoで最もよく使われる連続的なデータ構造となっています。
2Goにおけるarrayとsliceの主な違いは何ですか?
2
Goにおけるarrayとsliceの主な違いは何ですか?
回答
根本的な違いはサイズにあります。arrayはコンパイル時に決まる固定サイズを持ち、その型自体の一部となりますが、sliceは実行時に変化しうる動的なサイズを持ちます。この違いにより、サイズの異なる2つのarrayは互換性のない型と見なされますが、同じ要素型のsliceはすべて互換性があります。そのため、sliceはより柔軟で、現代のGoコードでより一般的に使われます。
3Goで空のsliceを作成するにはどうすればよいですか?
3
Goで空のsliceを作成するにはどうすればよいですか?
回答
空の角括弧に続けて空の波括弧を書くリテラル構文は、初期化された空のsliceを作成する慣用的な方法です。この方法は長さ0かつnilではないsliceを作成し、appendによって要素を追加する準備ができています。nilのsliceになる単純な宣言とは異なり、この明示的な初期化により、要素追加時に予期しない動作のリスクなく、すぐに使えるsliceが保証されます。
4
特定の容量でsliceを初期化するにはどの関数を使いますか?
5
容量に達したsliceに要素を追加すると何が起こりますか?
+17 面接問題
その他のGo面接トピック
Goの基礎
Junior
25問Go のインターフェース
Junior
18問エラー処理
Junior
20問Goroutine の基礎
Junior
20問Channels
Junior
22問Go Modules
Mid-Level
18問HTTP サーバー
Mid-Level
24問HTTPクライアント
Mid-Level
18問JSON エンコーディング
Mid-Level
20問Database/SQL
Mid-Level
22問context パッケージ
Mid-Level
20問Testing
Mid-Level
22問並行処理パターン
Mid-Level
24問同期プリミティブ
Mid-Level
22問Go Web フレームワーク
Mid-Level
20問REST API 設計
Mid-Level
20問gRPC
Mid-Level
22問Reflection
Senior
20問メモリ管理
Senior
24問パフォーマンス最適化
Senior
22問Generics
Senior
20問Go Design Patterns
Senior
24問Microservices
Senior
24問セキュリティと認証
Senior
24問Docker & Containerization
Senior
20問Kubernetes Basics
Senior
22問高度な Go
Senior
20問CLI開発
Senior
20問