Type Assertions
ในโลกของ Go ที่เป็น Statically Typed (ต้องรู้ Type ตอน Compile) การมีอยู่ของ interface{} (หรือ alias ใหม่ว่า any ใน Go 1.18+) คือข้อยกเว้นที่น่าสนใจ มันเปรียบเสมือน “กล่องดำ” (Black Box) หรือ “กล่องสุ่ม” ที่เก็บอะไรก็ได้ในโลกนี้
- เก็บ
int? ได้ - เก็บ
string? ได้ - เก็บ
struct? ได้ - เก็บ
func? ก็ยังได้!
แต่ปัญหาคือ… “เก็บได้ แต่เอาออกมาใช้ไม่ได้” (จนกว่าจะบอก Go ว่าข้างในคืออะไร)
เข้าสู่ระบบเพื่อดูเนื้อหาเต็ม
ยืนยันตัวตนด้วยบัญชี Google เพื่อปลดล็อกบทความทั้งหมด
Login with Google