Go

Reflection

package reflect, inspeksi tipe, manipulasi nilai, struct tags, kasus penggunaan, performa

20 pertanyaan wawancaraยท
Senior
1

Apa itu package reflect di Go?

Jawaban

Package reflect memungkinkan inspeksi dan manipulasi tipe serta nilai saat runtime. Package ini digunakan untuk mengimplementasikan library generik (marshaling JSON, ORM), tetapi penggunaan langsungnya dalam kode aplikasi tidak disarankan karena mengorbankan type safety dan performa.

2

Bagaimana cara mendapatkan tipe sebuah variabel dengan package reflect?

Jawaban

Fungsi reflect.TypeOf() mengembalikan reflect.Type yang merepresentasikan tipe dinamis dari interface yang diberikan sebagai argumen. Jika variabel bernilai nil, reflect.TypeOf() mengembalikan nil. Menggunakan .Kind() pada Type yang dikembalikan memungkinkan mendapatkan kategori tipe (int, string, struct, dsb.).

3

Apa perbedaan antara reflect.Type dan reflect.Value?

Jawaban

reflect.Type merepresentasikan metadata tipe (nama, kind, method, field) dan diperoleh melalui reflect.TypeOf(). reflect.Value merepresentasikan nilai konkret dan memungkinkan membacanya atau memodifikasinya melalui reflect.ValueOf(). Keduanya saling melengkapi: Type menggambarkan 'apa' dan Value berisi 'datanya'.

4

Bagaimana cara memodifikasi nilai sebuah variabel melalui reflection?

5

Apa itu reflect.Kind?

+17 pertanyaan wawancara

Kuasai Go untuk wawancara berikutnya

Akses semua pertanyaan, flashcards, tes teknis, latihan code review dan simulator wawancara.

Mulai gratis