Go में := और = के बीच अंतर: छोटी घोषणा बनाम असाइनमेंट
सभी को नमस्ते! मैंने अभी Go सीखना शुरू किया है और := और = ऑपरेटरों में उलझ गया हूँ। दोनों वेरिएबल के साथ काम करने के लिए उपयोग होते हैं, लेकिन अंतर क्या है?
यहाँ एक उदाहरण है जिसने मुझे भ्रमित किया:
```go
package main
import "fmt"
func main() {
name := "Анна" // यह काम करता है
var age int = 25 // यह भी काम करता है
age = 30 // और यह भी काम करता है
// name = "Борис" // मैंने यह भी कोशिश की
}
```
जब मैं name := "Анна" लिखता हूँ — सब ठीक है। लेकिन अगर मैं पहले var के माध्यम से वेरिएबल घोषित करता हूँ, और फिर उसी वेरिएबल के साथ := का उपयोग करने की कोशिश करता हूँ, तो कंपाइलर त्रुटि देता है: "no new variables on left side of :="। क्यों?
इसके अलावा, मैंने देखा कि := केवल फंक्शन के अंदर काम करता है। अगर मैं ऐसा लिखता हूँ:
```go
var version = "1.0" // ग्लोबल — ठीक
// version := "1.0" // ग्लोबल — त्रुटि!
```
ऐसा क्यों? और किन मामलों में := का उपयोग करना चाहिए, और किनमें सिर्फ =? मैंने कई ट्यूटोरियल पढ़े, लेकिन फिर भी भ्रमित हूँ। कृपया सरल शब्दों में, उदाहरणों के साथ समझाएँ कि कब क्या उपयोग करना है।