Avatar ·

Go में *int64 लिटरल कैसे बनाएं? संख्या पर पॉइंटर का सीधा इनिशियलाइज़ेशन

सभी को नमस्ते! मैंने अभी-अभी Go सीखना शुरू किया है और पॉइंटर्स के साथ काम करते समय एक समस्या का सामना करना पड़ा। मुझे एक फंक्शन में int64 का पॉइंटर पास करना है, लेकिन मैं एक अलग वेरिएबल नहीं बनाना चाहता। उदाहरण के लिए, मेरे पास एक फंक्शन है:\n\n```go\nfunc SetValue(val *int64) {\n *val = 42\n}\n```\n\nमैं इसे इस तरह कॉल करना चाहता हूं:\n\n```go\nSetValue(&123) // त्रुटि: cannot take address of 123\n```\n\nलेकिन कंपाइलर त्रुटि देता है, क्योंकि लिटरल का एड्रेस नहीं लिया जा सकता। मैंने यह कोशिश की:\n\n```go\nSetValue(&int64(123)) // यह भी त्रुटि\n```\n\nऔर यहां तक कि:\n\n```go\nSetValue(&(int64(123))) // काम नहीं करता\n```\n\nबिना अलग वेरिएबल घोषित किए, फ्लाई पर *int64 लिटरल सही तरीके से कैसे बनाएं? मुझे बिना अलग वेरिएबल घोषित किए संख्या 123 का पॉइंटर पास करना है। अन्य भाषाओं में, जैसे C में, यह आसानी से किया जाता है: &(int){123}। क्या Go में कोई समकक्ष है? या फिर