النظام؟
الإجابة:افتح (سلسلة الاسم) (ملف ، خطأ) STAT (سلسلة الاسم) (OS.FileInfo ، خطأ) } اكتب واجهة الملف { io.closer IO.Reader io.readerat io.seker STAT () (OS.FileInfo ، خطأ) } قم بإنشاء تطبيق نظام ملفات افتراضي باستخدام القرص المحلي:
اكتب OSFS struct {} Func (OSFS) افتح (اسم السلسلة) (ملف ، خطأ) {return os.open (name)} FUNC (OSFS) Stat (سلسلة الاسم) (OS.FileInfo ، خطأ) {return os.stat (name)} قم بتنفيذ واجهة نظام الملفات باستخدام الكود المخصص الخاص بك: // تنفيذ نظام الملفات المخصص } فتح (myfs) افتح (سلسلة الاسم) (ملف ، خطأ) { // تطبيق مخصص لفتح ملف // سجل عملية الملف fmt.printf ("الملف المفتوح: ٪ s \ n" ، الاسم) // إرجاع كائن ملف وهمية Return & Mockfile {} ، لا شيء } FUNC (MYFS) Stat (سلسلة الاسم) (OS.FileInfo ، خطأ) { // تطبيق مخصص للحصول على معلومات الملف // سجل عملية الملف fmt.printf ("الحصول على معلومات الملف: ٪ s \ n" ، الاسم) // إرجاع معلومات ملف وهمية return & os.fileinfo {} ، nil }
قم بتعديل الكود لقبول وسيطة نظام الملفات:
func myfunc f ، err: = fs.open ("myfile.txt") إذا خطأ! = لا شيء { fmt.println (err) يعود } // تنفيذ عمليات الملفات باستخدام كائن الملف المسموح به }
type fileSystem interface { Open(name string) (file, error) Stat(name string) (os.FileInfo, error) } type file interface { io.Closer io.Reader io.ReaderAt io.Seeker Stat() (os.FileInfo, error) }
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3