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

Generics

ก่อน Go 1.18 การจะเขียนฟังก์ชันที่รองรับหลาย Type (เช่น Min(a, b)) เราต้องทำ 1 ใน 2 อย่าง:

  1. Code Gen: Copy-Paste ฟังก์ชันเดิมเปลี่ยนแค่ Type (MinInt, MinFloat) -> ดูแลยาก
  2. Interface{}: รับ interface{} แล้ว Type Assert -> ช้าและไม่ Type Safe

Generics (Type Parameters) เข้ามาแก้ปัญหานี้โดยอนุญาตให้เรากำหนด “Type ตัวแปร” ในฟังก์ชันหรือ Struct ได้

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

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