मैंने हाल ही में const
कीवर्ड के बारे में पढ़ा है, और मैं बहुत उलझन में हूं! मुझे इसके और val
कीवर्ड के बीच कोई अंतर नहीं मिल रहा है, मेरा मतलब है कि हम दोनों को एक अपरिवर्तनीय चर बनाने के लिए उपयोग कर सकते हैं, क्या मुझे कुछ और याद आ रहा है?"const" और "val" के बीच क्या अंतर है?
उत्तर
const
एस संकलन समय स्थिरांक हैं। इसका अर्थ यह है कि उनके मूल्य को संकलन समय के दौरान असाइन किया जाना चाहिए, val
एस के विपरीत, जहां इसे रनटाइम पर किया जा सकता है।
इसका मतलब है कि const
एस किसी फ़ंक्शन या किसी भी क्लास कन्स्ट्रक्टर को असाइन नहीं किया जा सकता है, लेकिन केवल String
या आदिम के लिए असाइन किया जा सकता है।
उदाहरण के लिए:
const val foo = complexFunctionCall() //Not okay
val fooVal = complexFunctionCall() //Okay
const val bar = "Hello world" //Also okay
इस तरह कुछ के बारे में क्या: 'const val foo =" हैलो वर्ल्ड "' और 'वैल बार =" हैलो वर्ल्ड "'? क्या यह वही है? –
@MathewHany, कम से कम बाइटकोड के संदर्भ में नहीं, देखें: http://stackoverflow.com/questions/37482378/static-data-in-kotlin/37485356#37485356 – hotkey
मुझे लगता है कि 'const' मान केवल पूरी तरह से रेखांकित किए जाएंगे संकलन। –
बस लूका के जवाब में जोड़ने के लिए:
संकलन समय स्थिरांक
गुण संकलन समय पर जाना जाता है जिनमें से मूल्य में चिह्नित किया जा सकता है कॉन्स संशोधक का उपयोग कर संकलन समय स्थिरांक के रूप में। इस तरह के गुण निम्न आवश्यकताओं को पूरा करने के लिए की जरूरत है:
- उच्च-स्तरीय या किसी वस्तु
- या प्रकार स्ट्रिंग के एक मूल्य एक आदिम प्रकार
- कोई कस्टम गेटर के साथ प्रारंभ की सदस्य
स्रोत: Official documentation
- 1. jQuery .val() और .attr ('value') के बीच क्या अंतर है?
- 2. "std :: string const & s" और "const std :: string & s" के बीच क्या अंतर है?
- 3. jQuery में val.length और val() लंबाई के बीच अंतर?
- 4. क्या बीच का अंतर है :: और ::: स्काला
- 5. [अपरिभाषित] और [,] के बीच क्या अंतर है?
- 6. # {} $ {} और% {} के बीच क्या अंतर है?
- 7. `&` और `ref` के बीच क्या अंतर है?
- 8. $ और $$ के बीच क्या अंतर है?
- 9. के बीच क्या अंतर है:। और: आर !?
- 10. वेरिलोग के बीच क्या अंतर है! और ~?
- 11. भिन्नता और '-' के बीच क्या अंतर है?
- 12. क्या $ @ और "$ @" के बीच कोई अंतर है?
- 13. * और * के बीच क्या अंतर है?
- 14. "$^एन" और "$ +" के बीच क्या अंतर है?
- 15. स्थिर स्थिरांक और कॉन्स के बीच क्या अंतर है?
- 16. भविष्य के पूर्ण और flatMap के बीच क्या अंतर है?
- 17. उद्देश्य-सी: केई और केपपथ के बीच क्या अंतर है?
- 18. क्यूटी में logicalDpiX और physicalDpiX के बीच क्या अंतर है?
- 19. स्केल में टूस्ट्रिंग और एमकेस्ट्रिंग के बीच क्या अंतर है?
- 20. स्थिर स्थिरांक और constexpr चर के बीच क्या अंतर है?
- 21. sysfs_create_file() और sysfs_create_group() के बीच क्या अंतर है?
- 22. डी में कॉन्स और अपरिवर्तनीय के बीच क्या अंतर है?
- 23. sv_catpv() और sv_catpvs() के बीच क्या अंतर है?
- 24. कॉन्स्ट और कॉन्स्टेंट के बीच क्या अंतर है?
- 25. सूची के लिए ::: और ++ के बीच क्या अंतर है?
- 26. एक कन्स्ट्रक्टर निजी और = हटाने के बीच अंतर क्या है?
- 27. के बीच क्या अंतर है?
- 28. अंतर और कहां के बीच क्या अंतर है?
- 29. jquery चयनकर्ताओं और जेएस चयनकर्ताओं के बीच क्या अंतर है?
- 30. Reflect.ownKeys (obj) और Object.keys (obj) के बीच क्या अंतर है?
https://kotlinlang.org/docs/reference/properties.html#compile-time-constants – Michael