بله میخواهد برای کاربرانش در کانالها محدودیت ایجاد کند. او پس از تحقیقات بسیار در مورد روشهای پیش رو، تصمیم گرفت که دسترسی هر کاربر را با یک عدد نشان دهد. هر بیت این عدد نشاندهندهی یکی از دسترسیها است. مقدار ۱ برای هر بیت نشاندهندهی دارا بودن دسترسی و صفر، نشاندهندهی عدم دسترسی است.
جزئیات پروژه
پروژهی اولیه را از این لینک دانلود کنید.
بله دو تابع 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
زیپ کرده و آن را آپلود کنید.
ارسال پاسخ برای این سؤال