गो में []स्ट्रिंग से []बाइट में कुशल रूपांतरण
एक स्ट्रिंग सरणी ([]स्ट्रिंग) को एक में परिवर्तित करने का कार्य डिस्क पर भंडारण के लिए गो में बाइट सरणी ([]बाइट) को एन्कोडिंग और डिकोडिंग दोनों के लिए एक इष्टतम समाधान की आवश्यकता होती है। एक दृष्टिकोण पुनरावृत्तीय होगा, जिसमें पहला पास आवश्यक बाइट सरणी आकार निर्धारित करेगा और दूसरा पास प्रत्येक तत्व की लंबाई और बाइट प्रतिनिधित्व लिखेगा।
कुशल रूपांतरण के लिए क्रमांकन प्रारूप
रूपांतरण को सुविधाजनक बनाने के लिए, एक क्रमांकन प्रारूप की आवश्यकता है। गो मजबूत विकल्प प्रदान करता है, जिनमें शामिल हैं:
गोब: बड़ी संख्या में स्ट्रिंग्स से निपटने के दौरान अंतरिक्ष दक्षता के लिए अनुकूलित एक बाइनरी प्रारूप।
JSON: एक बहुमुखी प्रारूप जो विभिन्न प्लेटफार्मों पर अपनी सादगी और पठनीयता के लिए लोकप्रिय है। &&&] एक प्रारूप विशेष रूप से सारणीबद्ध रूप में डेटा के लिए डिज़ाइन किया गया है, जहां प्रत्येक पंक्ति एक एकल स्ट्रिंग है।
सही प्रारूप चुनना
इष्टतम प्रारूप विशिष्ट आवश्यकताओं पर निर्भर करता है :
गोब अंतरिक्ष दक्षता में उत्कृष्ट है लेकिन उसे गो-विशिष्ट डिकोडिंग की आवश्यकता है।JSON व्यापक रूप से संगत है लेकिन बड़े डेटासेट के लिए कम कुशल हो सकता है।
XML डेटा प्रदान करता है संगठन लेकिन अधिक ओवरहेड के साथ। एक उदाहरण:आयात ( "एन्कोडिंग/गोब" "ओएस" ) func मुख्य() { // []स्ट्रिंग को []बाइट में एन्कोड करें fp, err := os.OpenFile("data.gob", os.O_RDWR|os.O_CREATE, 0644) यदि त्रुटि !=शून्य { // त्रुटि संभालें } enc := gob.NewEncoder(fp) त्रुटि = enc.Encode(डेटा) यदि त्रुटि !=शून्य { // त्रुटि संभालें } _ = एफपी.बंद करें() // []बाइट को []स्ट्रिंग में डिकोड करें fp, err = os.OpenFile("data.gob", os.O_RDONLY, 0644) यदि त्रुटि !=शून्य { // त्रुटि संभालें } dec := gob.NewDecoder(fp) err = dec.Decode(&data) यदि त्रुटि !=शून्य { // त्रुटि संभालें } _ = एफपी.बंद करें() }अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3