"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > लॉगिंग और इन-मेमोरी ऑपरेशंस के लिए जाने में फाइल सिस्टम को कैसे मॉक करें?

लॉगिंग और इन-मेमोरी ऑपरेशंस के लिए जाने में फाइल सिस्टम को कैसे मॉक करें?

2025-03-23 ​​पर पोस्ट किया गया
ब्राउज़ करें:291

] प्रणाली? खोलें (नाम स्ट्रिंग) (फ़ाइल, त्रुटि) STAT (नाम स्ट्रिंग) (OS.FileInfo, त्रुटि) } फ़ाइल इंटरफ़ेस टाइप करें { io.closer io.reader io.readerat io.seeker स्टेट () (os.fileinfo, त्रुटि) }

How to Mock the File System in Go for Logging and In-Memory Operations?
स्थानीय डिस्क का उपयोग करके एक डिफ़ॉल्ट फ़ाइल सिस्टम कार्यान्वयन बनाएं:

func (OSFS) ओपन (नाम स्ट्रिंग) (फ़ाइल, त्रुटि) {वापसी os.open (नाम)} FUNC (OSFS) STAT (नाम स्ट्रिंग) (OS.FileInfo, Error) {RETURN OS.STAT (नाम)}

अपने कस्टम कोड का उपयोग करके फ़ाइल सिस्टम इंटरफ़ेस को लागू करें:

टाइप MYFS संरचना { // कस्टम फ़ाइल सिस्टम कार्यान्वयन } func (myfs) ओपन (नाम स्ट्रिंग) (फ़ाइल, त्रुटि) { // एक फ़ाइल खोलने के लिए कस्टम कार्यान्वयन // फ़ाइल ऑपरेशन को लॉग करें fmt.printf ("खोली गई फ़ाइल: %s \ n", नाम) // एक मॉक फ़ाइल ऑब्जेक्ट लौटाएं वापसी और mockfile {}, nil } func (myfs) स्टेट (नाम स्ट्रिंग) (os.fileinfo, त्रुटि) { // फ़ाइल जानकारी प्राप्त करने के लिए कस्टम कार्यान्वयन // फ़ाइल ऑपरेशन को लॉग करें fmt.printf ("फ़ाइल जानकारी प्राप्त करें: %s \ n", नाम) // वापसी मॉक फ़ाइल जानकारी वापसी और os.fileinfo {}, nil } एक फ़ाइल सिस्टम तर्क को स्वीकार करने के लिए अपने कोड को संशोधित करें:

एफ, इर: = fs.open ("myfile.txt") अगर गलत! = nil { fmt.println (ERR) वापस करना } // नकली फ़ाइल ऑब्जेक्ट का उपयोग करके फ़ाइल संचालन करें }

आपके कस्टम फ़ाइल सिस्टम कार्यान्वयन को इंजेक्ट करके, आप फ़ाइल संचालन को लॉग कर सकते हैं और फ़ाइल और फ़ाइल सिस्टम इंटरफेस को उचित रूप से लागू करके एक इन-मेमोरी फ़ाइल सिस्टम बना सकते हैं।

नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3