لینکهای مفید برای شرکت در مسابقه:
در طول مسابقه، میتوانید سؤالات خود را از قسمت «سؤال بپرسید» مطرح کنید.
برای مدیریت بهتر کتابهایمان به یک کتابخانه نیاز داریم. این کتابخانه مقداری ظرفیت دارد که بیشتر از آن نمیتواند کتاب در خود جا دهد.
این کتابخانه مشخصات زیر را دارد:
Golestan
و gOlEsTan
دقیقاً یک کتاب هستند.OK
داده میشود:تشخیص اینکه کدام ارور در چه زمان(ها)ی باید برگردانده شود بر عهدهی شماست.
پروژهی اولیه را از این لینک دانلود کنید. ساختار فایلهای پروژه به صورت زیر است:
در فایل main.go
چند تابع و متد وجود دارد که شما باید آنها را کامل کنید.
NewLibrary
🔗این تابع یک اشارهگر به یک شی از نوع کتابخانه برمیگرداند. در این تابع باید یک شی جدید بسازید و ساختار داخلی آن را مطابق آنچه خودتان تعریف کردهاید مقداردهی کنید.
AddBook
🔗در این متد شما اسم یک کتاب را گرفته و در صورتی که شرایط برقرار بود (مثلاً کتابخانه جا داشت و این کتاب قبلا در کتابخانه نبود) آن را اضافه میکنید و OK
بر میگردانید. در غیر این صورت بسته به مورد ارور مناسب را در قالب یک رشته برمیگردانید.
*راهنمایی: در صورتی که کتابخانه پر باشد و کتابی با نام تکراری وارد شود، خطای مربوط به کتاب تکراری (و نه پر بودن ظرفیت) باید برگردانده شود.*
BorrowBook
و ReturnBook
🔗در این دو متد یک نفر یک کتاب را امانت میگیرد و سپس آن را پس میدهد.
در مواردی نیز ممکن است خطا پیش آید مثلا کتابی که امانت گرفته شده را دوباره کسی بخواهد امانت بگیرد یا کسی کتابی که در حال حاضر امانت گرفته نشده را بخواهد پس دهد.
پس از پیادهسازی توابع خواسته شده، فایل main.go
را آپلود کنید.