Generics
ก่อน Go 1.18 การจะเขียนฟังก์ชันที่รองรับหลาย Type (เช่น Min(a, b)) เราต้องทำ 1 ใน 2 อย่าง:
- Code Gen: Copy-Paste ฟังก์ชันเดิมเปลี่ยนแค่ Type (
MinInt,MinFloat) -> ดูแลยาก - Interface{}: รับ
interface{}แล้ว Type Assert -> ช้าและไม่ Type Safe
Generics (Type Parameters) เข้ามาแก้ปัญหานี้โดยอนุญาตให้เรากำหนด “Type ตัวแปร” ในฟังก์ชันหรือ Struct ได้
เข้าสู่ระบบเพื่อดูเนื้อหาเต็ม
ยืนยันตัวตนด้วยบัญชี Google เพื่อปลดล็อกบทความทั้งหมด
Login with Google