
Generics
Type parameters、constraints、comparable、any、ジェネリック関数、ジェネリック型、型推論
20 面接問題·
Senior
1Go における type parameter とは何ですか?
1
Go における type parameter とは何ですか?
回答
type parameter は、ジェネリック関数や型定義で使用される型変数で、角括弧内に宣言されます。type safety を犠牲にすることなく、異なる型で動作する再利用可能なコードを記述できます。type parameter は使用時に具体的な type argument でインスタンス化され、コンパイラが実行時ではなくコンパイル時に型の一貫性を検証できるようにします。
2シンプルなジェネリック関数を宣言する正しい構文はどれですか?
2
シンプルなジェネリック関数を宣言する正しい構文はどれですか?
回答
ジェネリック関数を宣言する正しい構文では、type parameter を定義するために関数名の直後に角括弧を使用します。any 制約により任意の型を受け取ることができ、interface{} に似ていますが generics の文脈ではより明確なセマンティクスを持ちます。この構文は、言語のシンプルさを維持しながらジェネリックプログラミングを可能にするために Go 1.18 で導入されました。
3Go における 'any' 制約は何を表しますか?
3
Go における 'any' 制約は何を表しますか?
回答
any 制約は interface{} のエイリアスであり、Go におけるすべての可能な型の集合を表します。type parameter が制限なく任意の型を受け取れるようにし、最大限の柔軟性を提供します。便利ではありますが、any を使用することは特定の型チェックを放棄することを意味し、基になる型のメソッドやプロパティにアクセスするためにしばしば type assertion が必要になります。
4
制約としての 'any' と 'comparable' の主な違いは何ですか?
5
stack のようなカスタムジェネリック型を宣言するにはどうすればよいですか?
+17 面接問題
その他のGo面接トピック
Goの基礎
Junior
25問Goのデータ構造
Junior
20問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問Go Design Patterns
Senior
24問Microservices
Senior
24問セキュリティと認証
Senior
24問Docker & Containerization
Senior
20問Kubernetes Basics
Senior
22問高度な Go
Senior
20問CLI開発
Senior
20問