कोई भी वेरिएबल जो इसकी घोषणा के बाद इनिशियलाइज़ किया जाता है, उसे "lateinitialized वेरिएबल" के रूप में जाना जाता है। पारंपरिक प्रोग्रामिंग भाषाओं में, किसी भी गैर-नल प्रकार के चर को कंस्ट्रक्टर में इनिशियलाइज़ करने की आवश्यकता होती है। लेकिन कभी-कभी, गलती से, डेवलपर्स इन NULL जाँचों को करना भूल जाते हैं जो एक प्रोग्रामिंग त्रुटि का कारण बनते हैं। इस स्थिति से बचने के लिए, कोटलिन ने "लेटइनिट" नामक एक नया संशोधक पेश किया। इस संशोधक के साथ, कोटलिन यह जाँचने के लिए कुछ विधियाँ प्रदान करता है कि यह चर आरंभीकृत है या नहीं।
"लेटइनिट" वैरिएबल बनाने के लिए, हमें बस "लेटइनिट" कीवर्ड को उस वेरिएबल के एक्सेस मॉडिफायर के रूप में जोड़ना होगा। कोटलिन में "lateInit" का उपयोग करने के लिए कुछ शर्तों का पालन करना आवश्यक है -
-
एक परिवर्तनीय चर के साथ "lateInit" का प्रयोग करें। इसका मतलब है, हमें "lateInit" के साथ "var" कीवर्ड का उपयोग करने की आवश्यकता है।
-
"lateInit" की अनुमति केवल गैर-शून्य डेटा प्रकारों के साथ है।
-
"lateInit" आदिम डेटा प्रकारों के साथ काम नहीं करता है।
-
"lateInit" का उपयोग तब किया जा सकता है जब परिवर्तनीय संपत्ति में कोई गेटर न हो और सेटर तरीके।
उदाहरण
इस उदाहरण में, हम एक वेरिएबल को "lateInit" वेरिएबल के रूप में घोषित करेंगे और हम अपने कोटलिन लाइब्रेरी फंक्शन का उपयोग यह जांचने के लिए करेंगे कि वेरिएबल को इनिशियलाइज़ किया गया है या नहीं।
class Tutorial { lateinit var name : String fun checkLateInit(){ println(this::name.isInitialized) // it will print false as the value is not initialized // initializing name name = "www.tutorialspoint.com/" println(this::name.isInitialized) // It will return true } } fun main() { var obj=Tutorial(); obj.checkLateInit(); }
आउटपुट
एक बार जब आप कोड निष्पादित करते हैं, तो यह निम्न आउटपुट उत्पन्न करेगा -
false true
दूसरे मामले में, चर नाम इनिशियलाइज़ किया गया है, इसलिए यह ट्रू लौटाता है।