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

क्या गो का शॉर्ट-सर्किट मूल्यांकन सशर्त बयानों में प्रदर्शन को प्रभावित करता है?

2024-12-22 को प्रकाशित
ब्राउज़ करें:401

Does Go's Short-Circuit Evaluation Impact Performance in Conditional Statements?

गो में शॉर्ट सर्किट मूल्यांकन

प्रोग्रामिंग में, शॉर्ट सर्किट मूल्यांकन एक ऐसी तकनीक है जहां एक अभिव्यक्ति का मूल्यांकन केवल तभी किया जाता है जब आसपास के कथन के परिणाम को निर्धारित करना आवश्यक हो . इसका उपयोग अक्सर सशर्त बयानों में किया जाता है, जहां कई स्थितियों का मूल्यांकन अनावश्यक होता है यदि पहले की स्थिति पहले से ही गलत है।

गो कई अन्य प्रोग्रामिंग के समान, तार्किक ऑपरेटरों (&& और ||) के लिए शॉर्ट सर्किट मूल्यांकन लागू करता है। भाषाएँ। इसका मतलब यह है कि एक 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