Go में int प्रकार के लिए अधिकतम मान: इसे कैसे प्राप्त करें और उपयोग करें?
सभी को नमस्ते! मैंने अभी-अभी Go सीखना शुरू किया है और एक अजीब स्थिति का सामना किया। मैं फैक्टोरियल गणना के लिए एक सरल प्रोग्राम लिख रहा हूँ, और मुझे यह जानना है कि `int` प्रकार अधिकतम कितना मान स्टोर कर सकता है। अन्य भाषाओं (जैसे C++ या Java) में मैं आदी हूँ कि `INT_MAX` या `Integer.MAX_VALUE` जैसे कॉन्स्टेंट होते हैं। लेकिन Go में मुझे कोई एनालॉग नहीं मिल रहा।
मैंने ऐसा करने की कोशिश की:
```go
package main
import "fmt"
func main() {
var i int = 2147483647 // सोचा कि यह int के लिए अधिकतम है
fmt.Println(i)
i = i + 1
fmt.Println(i) // एरर की उम्मीद थी, लेकिन नेगेटिव नंबर मिला
}
```
मेरे आश्चर्य के लिए, प्रोग्राम कंपाइल हुआ और चला भी। लेकिन ओवरफ्लो होने पर मुझे कंपाइल या रनटाइम एरर नहीं मिली, बल्कि एक नेगेटिव वैल्यू मिली। इसने मुझे भ्रमित कर दिया।
प्रश्न:
1. Go में `int` के लिए अधिकतम मान कैसे पता करें?
2. ओवरफ्लो होने पर एरर क्यों नहीं आती?
3. क्या अधिकतम मान आर्किटेक्चर (32-bit vs 64-bit) पर निर्भर करता है?
4. क्या सुरक्षित रूप से जाँच करने का कोई तरीका है?
अभी तक कोई उत्तर नहीं।
लॉग इन करें उत्तर देने के लिए