Skip to content
เข้าสู่ระบบ

Reflection

Go เป็น Statically Typed Language แปลว่า Type ทุกอย่างต้องรู้ตั้งแต่ตอน Compile แต่โลกความเป็นจริงเราต้องการความ Dynamic:

  • “Function ที่รับ Struct อะไรก็ได้ แล้วสร้าง JSON string” (json.Marshal)
  • “อ่านข้อมูลจาก Database แล้วยัดใส่ Struct โดยดูชื่อ field ตรงกับชื่อ column” (db.Scan)

สิ่งเหล่านี้ทำได้ด้วย Reflection (package reflect) แต่มันคือดาบสองคม: ทรงพลัง แต่ ช้า และ Type safety หายไป

เข้าสู่ระบบเพื่อดูเนื้อหาเต็ม

ยืนยันตัวตนด้วยบัญชี Google เพื่อปลดล็อกบทความทั้งหมด