Go

Reflection

reflect-package, type-inspectie, waardemanipulatie, struct tags, use cases, prestaties

20 gespreksvragen·
Senior
1

Wat is het reflect-package in Go?

Antwoord

Het reflect-package maakt het mogelijk om types en waarden tijdens runtime te inspecteren en te manipuleren. Het wordt gebruikt om generieke libraries te implementeren (JSON-marshaling, ORM), maar het directe gebruik ervan in applicatiecode wordt afgeraden omdat het type-veiligheid en prestaties opoffert.

2

Hoe verkrijg je het type van een variabele met het reflect-package?

Antwoord

De functie reflect.TypeOf() retourneert een reflect.Type die het dynamische type representeert van de interface die als argument is meegegeven. Als de variabele nil is, retourneert reflect.TypeOf() nil. Met .Kind() op het geretourneerde Type kun je de typecategorie verkrijgen (int, string, struct, enz.).

3

Wat is het verschil tussen reflect.Type en reflect.Value?

Antwoord

reflect.Type representeert de typemetadata (naam, kind, methodes, velden) en wordt verkregen via reflect.TypeOf(). reflect.Value representeert de concrete waarde en maakt het mogelijk deze te lezen of te wijzigen via reflect.ValueOf(). Beide zijn complementair: Type beschrijft 'wat' en Value bevat 'de data'.

4

Hoe wijzig je de waarde van een variabele via reflection?

5

Wat is een reflect.Kind?

+17 gespreksvragen

Beheers Go voor je volgende gesprek

Krijg toegang tot alle vragen, flashcards, technische tests, code review-oefeningen en gespreksimulatoren.

Begin gratis