प्रोग्रामिंग में, शॉर्ट सर्किट मूल्यांकन एक ऐसी तकनीक है जहां एक अभिव्यक्ति का मूल्यांकन केवल तभी किया जाता है जब आसपास के कथन के परिणाम को निर्धारित करना आवश्यक हो . इसका उपयोग अक्सर सशर्त बयानों में किया जाता है, जहां कई स्थितियों का मूल्यांकन अनावश्यक होता है यदि पहले की स्थिति पहले से ही गलत है।
गो कई अन्य प्रोग्रामिंग के समान, तार्किक ऑपरेटरों (&& और ||) के लिए शॉर्ट सर्किट मूल्यांकन लागू करता है। भाषाएँ। इसका मतलब यह है कि एक if कथन में, दुभाषिया बाएं से दाएं स्थितियों का मूल्यांकन करेगा और परिणाम ज्ञात होते ही रुक जाएगा।
प्रदान किए गए कोड उदाहरणों के संबंध में, शर्तों का मूल्यांकन क्रम प्रभावित नहीं करता है कार्यक्रम का प्रदर्शन. गो में, दोनों कोड स्निपेट एक ही तरह से व्यवहार करेंगे। संकलक बाएँ से दाएँ भावों का मूल्यांकन करेगा और परिणाम निर्धारित करते ही मूल्यांकन को शॉर्ट-सर्किट कर देगा।
इसे प्रदर्शित करने के लिए, निम्नलिखित कोड पर विचार करें:
package main import "fmt" func main() { var r *http.Request queries := make(map[string][]string) if r == nil || len(queries) == 0 || !isValidQueryParams(&queries) { fmt.Println("Invalid querystring") } }
भले ही isValidQueryParams में r == nil और len(queries) == 0 से अधिक ओवरहेड है, कंपाइलर क्रम में अभिव्यक्तियों का मूल्यांकन करेगा और परिणाम स्पष्ट होते ही शॉर्ट-सर्किट करेगा। इसलिए, आपके उदाहरण में दो कोड स्निपेट के बीच कोई प्रदर्शन अंतर नहीं है।
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3