متدها (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
این درس را به زبان خودت بخوان
همهٔ درسهای این دوره
20 درس- 1سلام، گو25 دقیقه
- 2متغیرها و انواع داده25 دقیقه
- 3کنترل جریان: if و for30 دقیقه
- 4توابع30 دقیقه
- 5اسلایسها (slices) و مپها (maps)35 دقیقه
- 6استراکتها (structs) و پوینترها (pointers)35 دقیقه
- 7متدها (methods) و اینترفیسها (interfaces)35 دقیقه
- 8مدیریت خطا35 دقیقه
- 9ماژولها (modules) و ساختار پروژه35 دقیقه
- 10پروژه نهایی CLI کوچک40 دقیقه
- 11گشتی در کتابخانه استاندارد40 دقیقه
- 12آزمایش و بنچمارکها (benchmarks)40 دقیقه
- 13گوروتینها (goroutines) و کانالها (channels)40 دقیقه
- 14الگوهای همزمانی45 دقیقه
- 15جنریکها (generics)35 دقیقه
- 16سرورهای HTTP45 دقیقه
- 17پایگاههای داده با database/sql45 دقیقه
- 18عملکرد و پروفایلسازی40 دقیقه
- 19الگوهای طراحی در Go40 دقیقه
- 20استقرار و محیط تولید45 دقیقه
