Go

Generics

Type parameters、constraints、comparable、any、ジェネリック関数、ジェネリック型、型推論

20 面接問題·
Senior
1

Go における type parameter とは何ですか?

回答

type parameter は、ジェネリック関数や型定義で使用される型変数で、角括弧内に宣言されます。type safety を犠牲にすることなく、異なる型で動作する再利用可能なコードを記述できます。type parameter は使用時に具体的な type argument でインスタンス化され、コンパイラが実行時ではなくコンパイル時に型の一貫性を検証できるようにします。

2

シンプルなジェネリック関数を宣言する正しい構文はどれですか?

回答

ジェネリック関数を宣言する正しい構文では、type parameter を定義するために関数名の直後に角括弧を使用します。any 制約により任意の型を受け取ることができ、interface{} に似ていますが generics の文脈ではより明確なセマンティクスを持ちます。この構文は、言語のシンプルさを維持しながらジェネリックプログラミングを可能にするために Go 1.18 で導入されました。

3

Go における 'any' 制約は何を表しますか?

回答

any 制約は interface{} のエイリアスであり、Go におけるすべての可能な型の集合を表します。type parameter が制限なく任意の型を受け取れるようにし、最大限の柔軟性を提供します。便利ではありますが、any を使用することは特定の型チェックを放棄することを意味し、基になる型のメソッドやプロパティにアクセスするためにしばしば type assertion が必要になります。

4

制約としての 'any' と 'comparable' の主な違いは何ですか?

5

stack のようなカスタムジェネリック型を宣言するにはどうすればよいですか?

+17 面接問題

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

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

無料で始める