Go Academy · पाठ

अस्तित्व जाँचना

comma-ok मुहावरा

पाठ 2, कुल 4 में से13 चरण

अस्तित्व जाँचना, CoddyKit पर Go Academy का एक निःशुल्क पाठ है। यह 4 में से 2वाँ पाठ है। इस अध्ययन पथ के 3 तक कोई भी पाठ पूरा पढ़ना निःशुल्क है — इसके बाद CoddyKit PRO हर पाठ अनलॉक करता है, साथ ही अंतर्निर्मित कोड संपादक और चौबीसों घंटे एआई शिक्षक के साथ व्यावहारिक अभ्यास भी उपलब्ध कराता है। यह Go Academy सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। Go Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।

अनुपस्थित कुंजियाँ शून्य मान लौटाती हैं

जब आप ऐसी कुंजी पढ़ते हैं जो मौजूद नहीं है, तो Go कोई शून्य मान लौटाता है, त्रुटि नहीं। int के लिए यह 0 और string के लिए खाली स्ट्रिंग होती है।

package main

import "fmt"

func main() {
	m := map[string]int{"a": 5}
	fmt.Println(m["missing"])
}

अस्पष्टता की समस्या

यदि 0 मान लौटाया जाता है, तो आप कैसे जानेंगे कि कुंजी 0 मान के साथ मौजूद है या वास्तव में अनुपस्थित है? केवल मान देखकर आप यह नहीं बता सकते।

कॉमा-ओके शैली

मानचित्र से मान प्राप्त करने पर दो मान लौटाए जा सकते हैं: मान और एक बूलियन। कुंजी मौजूद होने पर बूलियन true होता है। इसे कॉमा-ओके शैली कहते हैं।

package main

import "fmt"

func main() {
	m := map[string]int{"a": 0}
	val, ok := m["a"]
	fmt.Println(val, ok)
}

अनुपस्थित कुंजियों की पहचान

अब आप दोनों स्थितियों में अंतर बता सकते हैं। मौजूद कुंजी के लिए उसका मान शून्य होने पर भी ok = true मिलता है।

package main

import "fmt"

func main() {
	m := map[string]int{"a": 0}
	_, okA := m["a"]
	_, okB := m["b"]
	fmt.Println("a exists:", okA, "b exists:", okB)
}

कार्य करने से पहले जाँचें

एक सामान्य तरीका यह है: कुंजी मौजूद होने पर ही कार्य करने के लिए if के भीतर कॉमा-ओके का उपयोग करें।

package main

import "fmt"

func main() {
	prices := map[string]int{"pen": 3}
	if p, ok := prices["pen"]; ok {
		fmt.Println("price is", p)
	} else {
		fmt.Println("not found")
	}
}

मान की अनदेखी करना

यदि आपको केवल यह जानना है कि कुंजी मौजूद है या नहीं, तो मान के लिए रिक्त पहचानकर्ता _ का उपयोग करें।

package main

import "fmt"

func main() {
	seen := map[string]bool{"x": true}
	_, exists := seen["x"]
	fmt.Println("x seen:", exists)
}

उपस्थिति की गणना

कॉमा-ओके काउंटरों के साथ अच्छी तरह काम करता है। लेकिन ध्यान दें: m[key]++ ok के बिना भी काम करता है, क्योंकि अनुपस्थित कुंजी शून्य से शुरू होती है।

package main

import "fmt"

func main() {
	counts := map[string]int{}
	for _, w := range []string{"a", "b", "a"} {
		counts[w]++
	}
	fmt.Println(counts)
}

सुरक्षित रूप से डिफ़ॉल्ट मान देना

कॉमा-ओके और एक डिफ़ॉल्ट चर का उपयोग करके आप कुंजी अनुपस्थित होने पर वैकल्पिक मान दे सकते हैं।

package main

import "fmt"

func main() {
	cfg := map[string]string{}
	lang, ok := cfg["lang"]
	if !ok {
		lang = "en"
	}
	fmt.Println("lang:", lang)
}

मानचित्रों के अलावा कॉमा-ओके

दो-मान वाला रूप चैनल से मान प्राप्त करने और प्रकार के दावों के साथ भी दिखाई देता है। तरीका एक जैसा रहता है: दूसरा मान सफलता की सूचना देता है।

package main

import "fmt"

func main() {
	var i interface{} = "hello"
	s, ok := i.(string)
	fmt.Println(s, ok)
}

समुच्चय की सदस्यता जाँचना

बूलियन या रिक्त-संरचना मान वाले मानचित्रों का उपयोग अक्सर सदस्यता दर्ज करने के लिए किया जाता है। कॉमा-ओके शैली स्पष्ट रूप से बताती है कि कोई तत्व समुच्चय में है या नहीं।

package main

import "fmt"

func main() {
	allowed := map[string]struct{}{"read": {}, "write": {}}
	_, ok := allowed["delete"]
	fmt.Println("delete allowed:", ok)
}

सर्वोत्तम अभ्यास

जब शून्य मान वैध रूप से संग्रहीत किया जा सकता हो, तब हमेशा कॉमा-ओके का उपयोग करें। इससे अस्पष्टता दूर होती है और उद्देश्य स्पष्ट रहता है।

त्वरित जाँच

आप val, ok := m["x"] पढ़ते हैं और val = 0, ok = true प्राप्त करते हैं। इसका क्या अर्थ है?

पुनरावलोकन

कॉमा-ओके से मौजूदगी जाँचना:

  • अनुपस्थित कुंजियाँ शून्य मान लौटाती हैं
  • val, ok := m[key] मौजूदगी की सूचना ok में देता है
  • जब शून्य वास्तविक मान हो सकता है, तब इसका उपयोग करें
शुरुआत निःशुल्क

एआई शिक्षक के साथ Go सीखें — निःशुल्क

अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।

पाठ्यक्रम
51
पाठ
203

अक्सर पूछे जाने वाले प्रश्न

क्या “अस्तित्व जाँचना” पाठ निःशुल्क है?

हाँ — Go Academy अध्ययन पथ के 3 तक कोई भी पाठ, जिसमें “अस्तित्व जाँचना” भी शामिल है, यहाँ वेब पर पूरा पढ़ना निःशुल्क है। इसके बाद CoddyKit PRO हर पाठ अनलॉक करता है, साथ ही अंतर्निर्मित कोड संपादक और चौबीसों घंटे एआई शिक्षक के साथ इंटरैक्टिव अभ्यास भी उपलब्ध कराता है। Go Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।

“अस्तित्व जाँचना” में मैं क्या सीखूँगा?

comma-ok मुहावरा आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ Go Academy का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।

क्या Go Academy शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?

पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर Go Academy शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 2वाँ पाठ है।

“अस्तित्व जाँचना” पाठ पूरा करने में कितना समय लगता है?

CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।

क्या मैं इस Go Academy पाठ में कोड लिख और चला सकता हूँ?

हाँ। हर Go Academy पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।

इस पाठ्यक्रम के सभी पाठ

  1. Map की आंतरिक संरचना
  2. अस्तित्व जाँचना
  3. Map को Set की तरह उपयोग करना
  4. पुनरावृत्ति और क्रम
← Go Academy पर वापस जाएँ