2015-03-24 7 views
5

क्या यह जावा में एकाधिक मुख्य प्रविष्टि बिंदुओं की सुविधा को दूर नहीं करता है जिसे आवश्यकतानुसार कहा जा सकता है।कोटलिन लैंग परियोजना में केवल एक मुख्य समारोह की अनुमति क्यों देता है?

उत्तर

13

अद्यतन: कोटलिन के हाल के संस्करण एक ही पैकेज में भी कई main कार्यों को अनुमति देते हैं (यदि वे अलग-अलग फाइलों में हैं)।

आप अपने प्रोजेक्ट में कई मुख्य कार्य लेकिन पैकेज में केवल एक मुख्य कार्य हो सकता है

कारण है कि आप पैकेज में कई मुख्य कार्य नहीं कर सकता है कि पैकेज में सभी कार्यों पैकेज वर्ग में जमा हो जाती है इसलिए आपके पास समान हस्ताक्षर वाले वर्ग में एकाधिक फ़ंक्शन नहीं हो सकते हैं।

तो अगर आप एक से अधिक मुख्य कार्य चाहते हैं कि आप विभिन्न संकुल

+1

अब प्रति कोटलिन फ़ाइल मुख्य हो सकती है। कोटलिन अब सभी शीर्ष-स्तरीय कार्यों के लिए पैकेज स्तर कंटेनर क्लास उत्पन्न नहीं करता है, और इसके बजाय प्रति फ़ाइल एक वर्ग बनाता है। यदि फ़ाइल नाम 'ऐप' है और आपके 'मुख्य() 'फ़ंक्शन के साथ पैकेज' foo.bar' में है, तो वर्ग का नाम 'foo.bar.AppKT' होगा जिसमें 'मुख्य()' –

+0

आप अपडेट कर सकते हैं वर्तमान होने का उत्तर, ऊपर टिप्पणी देखें) –

+0

यदि आप करते हैं, तो सभी एक मुख्य कार्य को निजी होना चाहिए, अन्यथा एक नाम संघर्ष होगा। या क्या मैं कुछ न कुछ भूल रहा हूं? –

15

सेर्गेई Mashkov की टिप्पणी के अलावा में उन्हें परिभाषित करने के लिए है: आप एक वस्तु के अंदर एक main रख दिया और यह @JvmStatic चिह्नित कर सकते हैं: आप

object Main { 
    @JvmStatic 
    fun main(args: Array<String>) { 
     println("Hello, world!") 
    } 
} 
संबंधित मुद्दे

 संबंधित मुद्दे