
Reflection
reflect-Paket, Typinspektion, Wertmanipulation, struct tags, Anwendungsfälle, Performance
1Was ist das reflect-Paket in Go?
Was ist das reflect-Paket in Go?
Antwort
Das reflect-Paket ermöglicht das Inspizieren und Manipulieren von Typen und Werten zur Laufzeit. Es wird zur Implementierung generischer Bibliotheken (JSON-Marshaling, ORM) verwendet, aber seine direkte Nutzung im Anwendungscode wird abgeraten, da sie Typsicherheit und Performance opfert.
2Wie erhält man den Typ einer Variable mit dem reflect-Paket?
Wie erhält man den Typ einer Variable mit dem reflect-Paket?
Antwort
Die Funktion reflect.TypeOf() gibt einen reflect.Type zurück, der den dynamischen Typ des als Argument übergebenen Interfaces darstellt. Ist die Variable nil, gibt reflect.TypeOf() nil zurück. Mit .Kind() auf dem zurückgegebenen Type lässt sich die Typkategorie (int, string, struct usw.) ermitteln.
3Was ist der Unterschied zwischen reflect.Type und reflect.Value?
Was ist der Unterschied zwischen reflect.Type und reflect.Value?
Antwort
reflect.Type repräsentiert die Typmetadaten (Name, Kind, Methoden, Felder) und wird über reflect.TypeOf() ermittelt. reflect.Value repräsentiert den konkreten Wert und erlaubt dessen Lesen oder Ändern über reflect.ValueOf(). Beide ergänzen sich: Type beschreibt das 'Was' und Value enthält 'die Daten'.
Wie ändert man den Wert einer Variable über Reflection?
Was ist ein reflect.Kind?
+17 Interview-Fragen
Weitere Go-Interviewthemen
Go-Grundlagen
Go-Datenstrukturen
Go-Interfaces
Fehlerbehandlung
Goroutines-Grundlagen
Channels
Go Modules
HTTP-Server
HTTP-Client
JSON-Kodierung
Database/SQL
context-Paket
Testing
Concurrency-Patterns
Synchronisationsprimitive
Go-Web-Frameworks
REST-API-Design
gRPC
Speicherverwaltung
Performance-Optimierung
Generics
Go Design Patterns
Microservices
Sicherheit und Authentifizierung
Docker & Containerization
Kubernetes Basics
Fortgeschrittenes Go
CLI-Entwicklung
Meistere Go für dein nächstes Interview
Zugang zu allen Fragen, Flashcards, technischen Tests, Code-Review-Übungen und Interview-Simulatoren.
Kostenlos starten