] इससे कुछ परिदृश्यों में सटीकता का नुकसान हो सकता है। यह व्यवहार समस्याग्रस्त हो सकता है यदि बाहरी कार्यक्रम अनुगामी शून्य के साथ फ्लोटिंग-पॉइंट संख्या की उम्मीद करते हैं। यहाँ एक उदाहरण है:
टाइप keepzero float64
func (f keepzero) marshaljson () ([] बाइट, त्रुटि) {
यदि फ्लोट 64 (f) == फ्लोट 64 (int (f)) {
रिटर्न [] बाइट (strconv.formatfloat (फ्लोट 64 (f), 'f', 1, 32), nil
}
रिटर्न [] बाइट (strconv.formatfloat (फ्लोट 64 (f), 'f', -1, 32)), nil
}
इस कस्टम प्रकार में, मार्शलजसन () विधि फ्लोट को एक दशमलव स्थान के साथ एक स्ट्रिंग में परिवर्तित करती है (यदि यह एक पूरी संख्या है) या सभी दशमलव स्थानों को संरक्षित करता है (यदि यह एक पूरी संख्या नहीं है)। मूल्य Keepzero एकक स्ट्रिंग } func मुख्य () { डेटा, गलत: = json.marshal (pt {मान: 40.0, यूनिट: "कुछ_स्ट्रिंग"}) fmt.println (स्ट्रिंग (डेटा), गलत) …
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3