1 शर्ती बयानों का अवलोकन

शर्ती बयाने प्रोग्रामिंग में प्रोग्रामों की तार्किक फ्लो को नियंत्रित करने के लिए महत्वपूर्ण उपकरण हैं। गोलांग में, शर्ती बयानों की अन्य प्रोग्रामिंग भाषाओं के समान होते हैं, लेकिन उनकी अपनी विशेषताएँ होती हैं। इन्हें हमें सच या झूठी स्थितियों के आधार पर निर्णय करने का अधिक उत्कृष्टता और बनाए रखने की अनुमति देते हैं।

2 if बयान

2.1 if बयान का मूल उपयोग

if बयान गो भाषा में सबसे मूल शर्ती बयान है। इसका संटेक्स निम्न रूप से होता है:

if स्थिति {
    // स्थिति सत्य होने पर कोड का कार्यान्वयन
}

यहां एक सरल उदाहरण है:

package main

import "fmt"

func main() {
    x := 10
    if x > 5 {
        fmt.Println("x 5 से अधिक है")
    }
}

यह कोड जांचेगा कि x 5 से अधिक है और अगर हां, तो यह मुद्रण कार्य को कार्यान्वित करेगा।

2.2 शर्ती अभिव्यक्तियाँ

शर्ती अभिव्यक्तियाँ तुलना आपरेटर्स (जैसे ==, !=, <, >, <=, >=) और तार्किक आपरेटर्स (जैसे && (AND), || (OR), ! (NOT)) से मिलती हैं।

उदाहरण के लिए, किसी चर की निर्धारित सीमा की जांच करने के लिए:

y := 20
if y >= 10 && y <= 30 {
    fmt.Println("y 10 और 30 के बीच है")
}

उपर्युक्त शर्ती अभिव्यक्ति && तार्किक आपरेटर का उपयोग करती है ताकि y का मान 10 और 30 के बीच हो।

2.3 if...else और else if संरचना

जब if शर्त पूर्ण नहीं होती है, तो हम else का उपयोग वैकल्पिक कोड ब्लॉक को कार्यान्वित करने के लिए कर सकते हैं। else if हमें कई स्थितियों की जांच करने की अनुमति देता है। नीचे एक उदाहरण है:

score := 88

if score >= 90 {
    fmt.Println("उत्कृष्ट")
} else if score >= 80 {
    fmt.Println("अच्छा")
} else if score >= 70 {
    fmt.Println("औसत")
} else {
    fmt.Println("औसत से कम")
}

यह कोड score के मान पर आधारित विभिन्न मूल्यांकन को मुद्रित करेगा।

3 switch बयान

3.1 switch का मूल संटेक्स

switch बयान एक और संक्षेपणात्मक शर्ती शाखा बयान है, विशेषकर ऐसी स्थितियों के लिए जहां कई मानों की मूल्यांकन की आवश्यकता होती है। switch बयान का मूल वाक्यविन्यास निम्नानुसार होता है:

switch अभिव्यक्ति {
case मान1:
    // मान1 के मिलते ही कार्यान्वयन करने के लिए कोड
case मान2:
    // मान2 के मिलते ही कार्यान्वयन करने के लिए कोड
default:
    // डिफॉल्ट अनुसार कार्यान्वयन करने के लिए कोड
}

अगर अभिव्यक्ति की मान case के पश्चात्त्व में मिलती है, तो संबंधित कोड ब्लॉक को कार्यान्वित किया जाएगा।

3.2 switch फॉल्थ्रू

गो में switch बयान में, प्रत्येक शाखा डिफॉल्ट रूप से अगले मामूली पर नहीं गिरती है, जब तक कमीज का शब्द उपयोग नहीं किया जाता है।

switch num {
case 1:
    fmt.Println("एक")
    fallthrough
case 2:
    fmt.Println("दो")
default:
    fmt.Println("न वह एक है और न ही दो")
}

ऊपर के कोड में, यदि num 1 है, तो भले ही यह मामूली 1 से मिलती है, लेकिन कमीज शब्द की उपस्थिति के कारण, प्रोग्राम मामूली 2 में दिए गए कोड को निर्देशित करेगा और "दो" को मुद्रित करेगा।

3.3 प्रकार शाखा और अनुकूल शाखा

switch बयान वेरिएबल प्रकारों के आधार पर शाखा बनाता है, जिसे प्रकार शाखा कहा जाता है। इसके अलावा, हम अधिक जटिल विशेष शर्त का निर्माण करने के लिए अनुकूल शाखा चारण भी बना सकते हैं।

प्रकार शाखा का उदाहरण:

var i interface{} = 1

switch i.(type) {
case int:
    fmt.Println("i एक पूर्णांक है")
case float64:
    fmt.Println("i एक फ्लोट64 है")
default:
    fmt.Println("i किसी और प्रकार का है")
}

इच्छानुकूल पड़ावों को पूरा करने के लिए अधिक जटिल शर्ती निर्णय को निर्माण करने के लिए अनुकूल शाखा लिखी जा सकती है।

4 व्यावसायिक अभ्यास

इस खंड में, हम विशेष उदाहरणों के माध्यम से गोलांग में शर्ती बयानों का गहरा ज्ञान और उनके अनुप्रयोग को गहरा करेंगे। वास्तविक जीवन समस्याओं को हल करने के लिए if और switch बयानों का उपयोग करके, आप इन्हें अधिक कुशल बन जाएंगे।

ग्रेड कैलकुलेटर

चलो, हम एक सरल ग्रेड कैलकुलेटर लिखते हैं। इस प्रोग्राम में उपयोगकर्ता द्वारा दर्ज किए गए स्कोर के आधार पर संबंधित ग्रेड को निर्धारित और आउटपुट किया जाएगा। ग्रेडिंग मानदंड निम्नलिखित हैं:

  • A: 90 और उससे अधिक स्कोर के लिए
  • B: 80 से 89 के बीच स्कोर के लिए
  • C: 70 से 79 के बीच स्कोर के लिए
  • D: 60 से 69 के बीच स्कोर के लिए
  • F: 60 से कम स्कोर के लिए

हम इस कार्य को लागू करने के लिए या तो एक if बयान या एक switch बयान का उपयोग कर सकते हैं। पहले, चलो एक if बयान का उपयोग करके उदाहरण देखते हैं:

package main

import (
	"fmt"
)

func main() {
	var score int
	fmt.Print("कृपया स्कोर दर्ज करें: ")
	fmt.Scan(&score)

	if score >= 90 {
		fmt.Println("ग्रेड: A")
	} else if score >= 80 {
		fmt.Println("ग्रेड: B")
	} else if score >= 70 {
		fmt.Println("ग्र