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

Type Assertions

ในโลกของ Go ที่เป็น Statically Typed (ต้องรู้ Type ตอน Compile) การมีอยู่ของ interface{} (หรือ alias ใหม่ว่า any ใน Go 1.18+) คือข้อยกเว้นที่น่าสนใจ มันเปรียบเสมือน “กล่องดำ” (Black Box) หรือ “กล่องสุ่ม” ที่เก็บอะไรก็ได้ในโลกนี้

  • เก็บ int? ได้
  • เก็บ string? ได้
  • เก็บ struct? ได้
  • เก็บ func? ก็ยังได้!

แต่ปัญหาคือ… “เก็บได้ แต่เอาออกมาใช้ไม่ได้” (จนกว่าจะบอก Go ว่าข้างในคืออะไร)

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

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