بله میخواهد برای کاربرانش در کانالها محدودیت ایجاد کند. او پس از تحقیقات بسیار در مورد روشهای پیش رو، تصمیم گرفت که دسترسی هر کاربر را با یک عدد نشان دهد. هر بیت این عدد نشاندهندهی یکی از دسترسیها است. مقدار ۱ برای هر بیت نشاندهندهی دارا بودن دسترسی و صفر، نشاندهندهی عدم دسترسی است.
جزئیات پروژه
پروژهی اولیه را از این لینک دانلود کنید.
بله دو تابع GetUserPermissions و SetUserPermissions را برای مدیریت دسترسیها در فایل main.go در نظر گرفته است:
- تابع
GetUserPermissionsیک ورودی از نوع int8میپذیرد که هر بیت آن عدد نشاندهندهی هر یک از دسترسیها است و بهعنوان خروجی، یک ساختار به نامPermissonsرا بر میگرداند که شامل دسترسیهای مختلف از نوع boolاست. - تابع
SetUserPermissionsیک ساختارPermissionsرا بهعنوان ورودی دریافت کرده و یک عدد از نوعint8را برمیگرداند.
بله برای این کار ۶ دسترسی در نظر گرفته که بهترتیب از کمارزشترین بیت به پرارزشترین بیت در زیر آمدهاند:
canSeeMessages (کمارزشترین بیت)
canDeleteMessages
canEditMessages
canKickMembers
canMakeMembersAdmin
canAddMembers
حال، او از شما خواسته تا این دو تابع را پیادهسازی کنید تا او بتواند بهتر از گذشته کانالهایش را مدیریت کند.
آنچه باید آپلود کنید
پس از پیادهسازی توابع، فایل main.go را آپلود کنید. در صورتی که از dependency خاصی استفاده کردهاید، فایلهای go.mod و go.sum را بههمراه فایل main.go زیپ کرده و آن را آپلود کنید.
ارسال پاسخ برای این سؤال