Go

Reflection

reflect package, type inspection, value manipulation, struct tags, use cases, performance

20 câu hỏi phỏng vấn·
Senior
1

What is the reflect package in Go?

Câu trả lời

The reflect package allows inspecting and manipulating types and values at runtime. It is used to implement generic libraries (JSON marshaling, ORM), but its direct use in application code is discouraged as it sacrifices type safety and performance.

2

How to get the type of a variable with the reflect package?

Câu trả lời

The reflect.TypeOf() function returns a reflect.Type representing the dynamic type of the interface passed as argument. If the variable is nil, reflect.TypeOf() returns nil. Using .Kind() on the returned Type allows getting the type category (int, string, struct, etc.).

3

What is the difference between reflect.Type and reflect.Value?

Câu trả lời

reflect.Type represents type metadata (name, kind, methods, fields) and is obtained via reflect.TypeOf(). reflect.Value represents the concrete value and allows reading or modifying it via reflect.ValueOf(). Both are complementary: Type describes 'what' and Value contains 'the data'.

4

How to modify a variable's value via reflection?

5

What is a reflect.Kind?

+17 câu hỏi phỏng vấn

Nắm vững Go cho lần phỏng vấn tiếp theo

Truy cập tất cả câu hỏi, flashcards, bài kiểm tra kỹ thuật, bài tập code review và mô phỏng phỏng vấn.

Bắt đầu miễn phí