Generics (Go 1.18 میں شامل ہوئے) آپ کو ایسے functions اور types لکھنے دیتے ہیں جو type parameters کے ذریعے متعدد types کے ساتھ کام کرتے ہیں، جبکہ compile-time type safety برقرار رکھتے ہیں۔ یہ پرانے trade-off کو ختم کرتے ہیں جہاں یا تو ہر type کے لیے کوڈ duplicate کرنا پڑتا تھا یا interface{} کے ساتھ safety کھونی پڑتی تھی۔
وہ مسئلہ جو generics حل کرتے ہیں
{ ... }
{ ... }
{} { ... }
