جنریکها (generics)
بخشی از دوره Go
تابعی مینویسی که بزرگترین عدد یک اسلایس از int را پیدا کند. بعد به همان چیز برای float64 نیاز پیدا میکنی، پس کپیاش میکنی و دو کلمه را عوض میکنی. بعد نوبت string میرسد. حالا سه تابع تقریباً یکسان داری و هر بار که باگی را در یکی درست کنی، باید یادت بماند آن دو تای دیگر هم هستند.
Go در بیشتر عمرش پاسخ تمیزی برای این وضع نداشت. یا تابع را تکرار میکردی، یا سراغ interface{} میرفتی که هر چیزی را میپذیرفت و در عوض کل بررسی نوع را کنار میگذاشت، طوری که کامپایلر دیگر نمیتوانست به تو بگوید اسلایسی از جنس اشتباه پاس دادهای. تکرار یا کوری، یکی را انتخاب کن.
میخواهی Go جنریکها (generics) را در یک محیط واقعی یاد بگیری؟
روی دکمه زیر بزن تا یک ماشین لینوکس با Go آماده دریافت کنی و جنریکها (generics) را بهصورت عملی با یک مربی هوشمند که کدت را میشناسد تمرین کنی.
شروع این درسجنریکها (generics)چه چیزهایی یاد میگیری
- Type parameters with [T any]
- Constraints
- Comparable
- Tilde approximation ~int
- Generic Map and Filter
- When generics help, when they do not
