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 เพื่อปลดล็อกบทความทั้งหมด
Login with Google