Go

Generics

Type Parameters, Constraints, comparable, any, generische Funktionen, generische Typen, Typinferenz

20 Interview-Fragen·
Senior
1

Was ist ein Type Parameter in Go?

Antwort

Ein Type Parameter ist eine Typvariable, die in generischen Funktions- oder Typdefinitionen verwendet und in eckigen Klammern deklariert wird. Er ermöglicht wiederverwendbaren Code, der mit verschiedenen Typen funktioniert, ohne die Type Safety zu opfern. Type Parameters werden bei der Verwendung mit konkreten Type Arguments instanziiert, sodass der Compiler die Typkonsistenz zur Compile-Zeit statt zur Laufzeit überprüfen kann.

2

Was ist die korrekte Syntax zum Deklarieren einer einfachen generischen Funktion?

Antwort

Die korrekte Syntax zum Deklarieren einer generischen Funktion verwendet eckige Klammern unmittelbar nach dem Funktionsnamen, um die Type Parameters zu definieren. Das any-Constraint erlaubt es, jeden Typ zu akzeptieren, ähnlich wie interface{}, aber mit klarerer Semantik im Kontext von Generics. Diese Syntax wurde in Go 1.18 eingeführt, um generische Programmierung zu ermöglichen und gleichzeitig die Einfachheit der Sprache zu bewahren.

3

Was repräsentiert das 'any'-Constraint in Go?

Antwort

Das any-Constraint ist ein Alias für interface{}, das die Menge aller möglichen Typen in Go repräsentiert. Es erlaubt einem Type Parameter, jeden Typ ohne Einschränkung zu akzeptieren, und bietet maximale Flexibilität. Obwohl praktisch, bedeutet die Verwendung von any, auf spezifische Typprüfung zu verzichten, und erfordert oft Type Assertions, um auf Methoden oder Eigenschaften des zugrunde liegenden Typs zuzugreifen.

4

Was ist der Hauptunterschied zwischen 'any' und 'comparable' als Constraints?

5

Wie deklariert man einen benutzerdefinierten generischen Typ wie einen Stack?

+17 Interview-Fragen

Meistere Go für dein nächstes Interview

Zugang zu allen Fragen, Flashcards, technischen Tests, Code-Review-Übungen und Interview-Simulatoren.

Kostenlos starten