बाइट असाइनमेंट को समझने में त्रुटि: स्ट्रिंग को []बाइट असाइन नहीं किया जा सकता
किसी फ़ोल्डर के भीतर फ़ाइलों को पढ़ने के आपके प्रयास में, आपको त्रुटि का सामना करना पड़ा किसी फ़ाइल की सामग्री को पढ़ने का प्रयास करते समय "एकाधिक असाइनमेंट में z (प्रकार स्ट्रिंग) को []बाइट असाइन नहीं किया जा सकता"। आइए इस त्रुटि के पीछे के कारण पर गौर करें।
एकाधिक असाइनमेंट को समझना
जब एकाधिक चर को एक ही पंक्ति में मान निर्दिष्ट किए जाते हैं, जैसा कि आपके कोड में है:
z, err := ioutil.ReadFile(z)
प्रत्येक चर के बाईं ओर असाइनमेंट ऑपरेटर को फ़ंक्शन द्वारा लौटाया गया संबंधित मान प्राप्त होता है। इस स्थिति में, ioutil.ReadFile फ़ंक्शन दो मान लौटाता है: []बाइट (बाइनरी डेटा) और त्रुटि।
स्ट्रिंग्स को बाइट्स असाइन करना
समस्याग्रस्त भाग प्रयास कर रहा है ioutil.ReadFile से लौटाए गए []बाइट (बाइनरी डेटा) को z वेरिएबल में असाइन करने के लिए, जिसे एक स्ट्रिंग के रूप में घोषित किया गया है। यहीं पर त्रुटि उत्पन्न होती है क्योंकि z एक स्ट्रिंग मान की अपेक्षा करता है, बाइनरी डेटा की नहीं।
Solution
इस त्रुटि को हल करने के लिए, आपके पास दो विकल्प हैं:
buf, err := ioutil.ReadFile(z)
if err != nil {
log.Fatal(err)
}
z = string(buf)
var z []byte
z, err := ioutil.ReadFile(z)
बाइनरी डेटा के साथ काम करना
जबकि बाइनरी डेटा को स्ट्रिंग्स में परिवर्तित करना संभव है, इसके साथ सीधे काम करना अक्सर बेहतर होता है बाइनरी डेटा ही. यह अनावश्यक रूपांतरण से बचाता है और डेटा के मूल प्रारूप को सुरक्षित रखता है।
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3