दिलचस्प पोस्ट
आईओएस 8 आईफोन पर यूआईपीओपरप्रदर्शन नियंत्रक अजगर फ़ाइल मोड द्वारा भ्रमित "w +" एक और एचटीएमएल पृष्ठ पर फॉर्म डेटा गुजर रहा है IEnumerable पर कोई अतिरिक्त विस्तार पद्धति क्यों नहीं है? लूप के लिए स्विफ्ट: सूचक के लिए, तत्व में तत्व? C ++ प्रोग्राम में एकाधिक .cpp फ़ाइलों का उपयोग करना? जब एक वर्ग को <> सूची से विरासत में मिली है, तो XmlSerializer अन्य विशेषताओं को क्रमबद्ध नहीं करता है सिद्धांत 2 के साथ कैस्केड हटाएं मक्खी पर एक php ऑब्जेक्ट में एक नई विधि कैसे जोड़ें? Jsfiddle में बाहरी सीएसवी फ़ाइल लोड करना कैसे PHP को प्रत्येक उपयोगकर्ता के लिए स्वचालित रूप से उपडोमेन बनाना है? मैं C # के साथ सभी रिक्त स्थान को कैसे बदलूं? जांचें कि कोई पॉपअप विंडो बंद है या नहीं मैं अजगर (2.7) में स्पॉन्ड प्रोसेस से विंडोज कंसोल को कैसे समाप्त कर सकता हूं? एएक्सएक्स के माध्यम से एक फाइल अपलोड करना

एक निरंतर सरणी घोषित करें

मैं प्रयास कर चुका हूं:

const ascii = "abcdefghijklmnopqrstuvwxyz" const letter_goodness []float32 = { .0817,.0149,.0278,.0425,.1270,.0223,.0202, .0609,.0697,.0015,.0077,.0402,.0241,.0675, .0751,.0193,.0009,.0599,.0633,.0906,.0276, .0098,.0236,.0015,.0197,.0007 } const letter_goodness = { .0817,.0149,.0278,.0425,.1270,.0223,.0202, .0609,.0697,.0015,.0077,.0402,.0241,.0675, .0751,.0193,.0009,.0599,.0633,.0906,.0276, .0098,.0236,.0015,.0197,.0007 } const letter_goodness = []float32 { .0817,.0149,.0278,.0425,.1270,.0223,.0202, .0609,.0697,.0015,.0077,.0402,.0241,.0675, .0751,.0193,.0009,.0599,.0633,.0906,.0276, .0098,.0236,.0015,.0197,.0007 } 

सबसे पहले, घोषणा और प्रारंभिक कार्य ठीक होता है, लेकिन दूसरा, तीसरा और चौथा काम नहीं करता। कैसे मैं घोषित कर सकते हैं और floats की const सरणी प्रारंभ?

Solutions Collecting From Web of "एक निरंतर सरणी घोषित करें"

एक सरणी स्वभाव से अपरिवर्तनीय नहीं है; आप इसे स्थिर नहीं बना सकते

निकटतम आप प्राप्त कर सकते हैं:

 var letter_goodness = [...]float32 {.0817, .0149, .0278, .0425, .1270, .0223, .0202, .0609, .0697, .0015, .0077, .0402, .0241, .0675, .0751, .0193, .0009, .0599, .0633, .0906, .0276, .0098, .0236, .0015, .0197, .0007 } 

प्रभावी जाओ से :

जाओ में स्थिरताएं केवल यही-निरंतर हैं वे समय संकलन में बनाये जाते हैं, यहां तक ​​कि फ़ंक्शन में स्थानीय लोगों के रूप में परिभाषित किए जाने पर भी, और केवल संख्याएं, स्ट्रिंग्स या बुलियन ही हो सकते हैं संकलन-समय पर प्रतिबंध के कारण, अभिव्यक्ति जो उन्हें परिभाषित करती है, उन्हें निरंतर अभिव्यक्ति, संकलक द्वारा मूल्यांकन योग्य होना चाहिए। उदाहरण के लिए, 1 << 3 एक निरंतर अभिव्यक्ति है, जबकि गणित.सिन (गणित.पी / 4) नहीं है, क्योंकि फ़ंक्शन कॉल को गणित.सिन को समय पर होने की आवश्यकता है।

क्रमशः के दौरान स्लाइस और सरणियों का हमेशा मूल्यांकन किया जाता है:

 var TestSlice = []float32 {.03, .02} var TestArray = [2]float32 {.03, .02} var TestArray2 = [...]float32 {.03, .02} 

[...] संकलक को बताता है कि सरणी की लंबाई कितनी है। स्लाइस रैप सरणियां और ज्यादातर मामलों में साथ काम करना आसान है। स्थिरांकों का उपयोग करने के बजाय केवल एक कम केस पहले अक्षर का उपयोग करके अन्य पैकेजों के लिए अप्राप्य चर बनाते हैं:

 var ThisIsPublic = [2]float32 {.03, .02} var thisIsPrivate = [2]float32 {.03, .02} 

thisIsPrivate केवल उस पैकेज में उपलब्ध है जो इसे परिभाषित किया गया है। यदि आपको बाहर से पढ़ने की आवश्यकता है तो आप एक साधारण भर्ती समारोह लिख सकते हैं ( गोलर्स में गेटर्स देखें)।

Go में सरणी स्थिरता जैसी कोई चीज नहीं है

गो भाषा की विशिष्टता से उद्धरित : स्थिरांक :

बूलियन स्थिरांक , रूण स्थिरांक , पूर्णांक स्थिरांक , फ्लोटिंग-बिंदु स्थिरांक , जटिल स्थिरांक और स्ट्रिंग स्थिरांक हैं । रूण, पूर्णांक, अस्थायी बिंदु, और जटिल स्थिरांक को सामूहिक रूप से अंकीय स्थिरांक कहा जाता है

एक निरंतर अभिव्यक्ति (जो एक स्थिरता को प्रारंभ करने के लिए प्रयोग किया जाता है) में केवल निरंतर संचालन हो सकता है और संकलन समय पर इसका मूल्यांकन किया जाता है।

विनिर्देश विभिन्न प्रकार के स्थिरांकों को सूचीबद्ध करता है ध्यान दें कि आप निहित प्रकार के निरंतर अभिव्यक्तियों के साथ स्थिरांक बना सकते हैं और प्रारंभ कर सकते हैं जिनमें अंतर्निहित प्रकार के रूप में अनुमति प्राप्त प्रकारों में से एक है उदाहरण के लिए यह मान्य है:

 func main() { type Myint int const i1 Myint = 1 const i2 = Myint(2) fmt.Printf("%T %v\n", i1, i1) fmt.Printf("%T %v\n", i2, i2) } 

आउटपुट (इसे Playground पर जाएं ):

 main.Myint 1 main.Myint 2 

यदि आपको एक सरणी की आवश्यकता है, तो यह केवल एक चर हो सकती है, लेकिन स्थिर नहीं है

मैं स्थिरांक के बारे में इस महान ब्लॉग लेख की सलाह देता हूं: स्थिरांक

जैसा कि दूसरों ने उल्लेख किया है, इसके लिए कोई आधिकारिक गो निर्माण नहीं है। निकटतम मैं कल्पना कर सकता हूँ एक समारोह है जो एक टुकड़ा देता है इस तरह, आप गारंटी दे सकते हैं कि कोई भी मूल टुकड़े के तत्वों में हेरफेर नहीं करेगा (जैसा कि सरणी में "हार्ड-कोडेड" है)।

मैंने इसे बनाने के लिए अपना टुकड़ा छोटा कर दिया है … छोटा …:

 func GetLetterGoodness() []float32 { return [...]float32 { .0817,.0149,.0278,.0425,.1270,.0223 } }