متدها (methods) و اینترفیسها (interfaces)
بخشی از دوره Go
درس قبل یاد گرفتید فیلدهای مرتبط را داخل یک استراکت جمع کنید، اما استراکت به تنهایی فقط داده نگه میدارد و هیچ رفتاری ندارد. اگر بخواهید Rectangle بلد باشد مساحت خودش را حساب کند، یا باید تابعی معمولی بنویسید که یک Rectangle را به عنوان ورودی بگیرد، یا رفتار را به خود آن نوع بچسبانید تا همراه داده سفر کند.
متد (method) تابعی معمولی است با یک مادهی اضافی: یک گیرنده (receiver)، یعنی متغیری نامدار از یک نوع مشخص که داخل پرانتز خودش، بین کلمهی func و نام متد مینشیند. همان گیرنده است که اجازه میدهد به جای Area(r) بنویسید r.Area()، درست مثل کنترلی که با یک تلویزیون مشخص جفت شده و هر دکمهای که رویش بزنید فقط همان یک تلویزیون را کنترل میکند.
میخواهی Go متدها (methods) و اینترفیسها (interfaces) را در یک محیط واقعی یاد بگیری؟
روی دکمه زیر بزن تا یک ماشین لینوکس با Go آماده دریافت کنی و متدها (methods) و اینترفیسها (interfaces) را بهصورت عملی با یک مربی هوشمند که کدت را میشناسد تمرین کنی.
شروع این درسمتدها (methods) و اینترفیسها (interfaces)چه چیزهایی یاد میگیری
- Method declaration
- Receiver types
- Pointer vs value receivers
- Interface definition
- Implicit interface satisfaction
- Small interfaces
- Io.Writer example
