खोज…


टिप्पणियों

कोटलिन जेट - ब्रेन द्वारा विकसित एक सांख्यिकीय रूप से टाइप की गई वस्तु-उन्मुख प्रोग्रामिंग भाषा है जो मुख्य रूप से जेवीएम को लक्षित करती है। कोटलीन को त्वरित संकलन करने के लक्ष्य के साथ विकसित किया गया है, पीछे की ओर संगत, बहुत सुरक्षित प्रकार, और जावा के साथ 100% इंटरऑपरेबल। कोटलिन को जावा डेवलपर्स द्वारा वांछित कई सुविधाएं प्रदान करने के लक्ष्य के साथ भी विकसित किया गया है। कोटलिन के मानक संकलक इसे JVM के लिए जावा जावास्क्रिप्ट में और जावास्क्रिप्ट में संकलित करने की अनुमति देता है।

संकलन कोटलिन

कोटलिन में ग्रहण और इंटेलीज के लिए एक मानक आईडीई प्लगइन है। कोटलिन को मावेन का उपयोग करके , चींटी का उपयोग करके , ग्रैडल का उपयोग करके या कमांड लाइन के माध्यम से भी संकलित किया जा सकता है।

यह $ kotlinc Main.kt में ध्यान देने योग्य है। $ kotlinc Main.kt एक java क्लास फ़ाइल का उत्पादन करेगा, इस मामले में MainKt.class (क्लास नाम से संबंधित Kt नोट करें)। हालाँकि अगर कोई $ java MainKt java का उपयोग करके वर्ग फ़ाइल चलाने के लिए था, तो निम्न अपवाद को फेंक देगा:

Exception in thread "main" java.lang.NoClassDefFoundError: kotlin/jvm/internal/Intrinsics
    at MainKt.main(Main.kt)
Caused by: java.lang.ClassNotFoundException: kotlin.jvm.internal.Intrinsics
    at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:335)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
    ... 1 more

जावा का उपयोग करके परिणामी क्लास फ़ाइल को चलाने के लिए, किसी को कोटलिन रन-टाइम जार फ़ाइल को वर्तमान क्लास पथ में शामिल करना चाहिए।

java -cp .:/path/to/kotlin/runtime/jar/kotlin-runtime.jar MainKt

संस्करण

संस्करण रिलीज़ की तारीख
1.0.0 2016/02/15
1.0.1 2016/03/16
1.0.2 2016/05/13
1.0.3 2016/06/30
1.0.4 2016/09/22
1.0.5 2016/11/08
1.0.6 2016/12/27
1.1.0 2017/03/01
1.1.1 2017/03/14
1.1.2 2017/04/25
1.1.3 2017/06/23

नमस्ते दुनिया

सभी कोटलिन कार्यक्रम main समारोह में शुरू होते हैं। यहाँ एक सरल कोटलिन "हैलो वर्ल्ड" कार्यक्रम का एक उदाहरण दिया गया है:

package my.program

fun main(args: Array<String>) {
    println("Hello, world!")
}

उपरोक्त कोड को Main.kt नामक फ़ाइल में Main.kt (यह फ़ाइल नाम पूरी तरह से मनमाना है)

जेवीएम को लक्षित करते समय, फ़ंक्शन को एक वर्ग में एक स्थिर विधि के रूप में संकलित किया जाएगा, जिसका नाम फ़ाइल नाम से लिया गया है। उपरोक्त उदाहरण में, चलाने के लिए मुख्य वर्ग my.program.MainKt होगा।

किसी विशेष फ़ाइल के लिए शीर्ष-स्तरीय फ़ंक्शन वाले वर्ग का नाम बदलने के लिए, पैकेज विवरण के ऊपर फ़ाइल के शीर्ष पर निम्न एनोटेशन रखें:

@file:JvmName("MyApp")

इस उदाहरण में, चलाने के लिए मुख्य वर्ग अब my.program.MyApp

यह सभी देखें:

नमस्ते विश्व एक वस्तु घोषणा का उपयोग कर

आप वैकल्पिक रूप से एक ऑब्जेक्ट घोषणा का उपयोग कर सकते हैं जिसमें एक कोटलिन कार्यक्रम के लिए मुख्य कार्य शामिल है।

package my.program

object App {
    @JvmStatic fun main(args: Array<String>) {
        println("Hello World")
    }
}

आपके द्वारा चलाया जाने वाला वर्ग नाम आपकी वस्तु का नाम है, इस मामले में my.program.App

एक शीर्ष-स्तरीय फ़ंक्शन पर इस पद्धति का लाभ यह है कि चलाने के लिए क्लास का नाम अधिक स्व-स्पष्ट है, और आपके द्वारा जोड़े गए किसी भी अन्य फ़ंक्शन को क्लास App में स्कैन किया जाता है। फिर आपके पास राज्य को संग्रहीत करने और अन्य काम करने के लिए App का एक सिंगलटन उदाहरण भी है।

यह सभी देखें:

नमस्ते विश्व एक साथी वस्तु का उपयोग कर

ऑब्जेक्ट डिक्लेरेशन का उपयोग करने के समान, आप क्लास के कंपेनियन ऑब्जेक्ट का उपयोग करके कोटलिन प्रोग्राम के main कार्य को परिभाषित कर सकते हैं।

package my.program

class App {
    companion object {
        @JvmStatic fun main(args: Array<String>) {
            println("Hello World")
        }
    }
}

आपके द्वारा चलाया जाने वाला वर्ग नाम आपकी कक्षा का नाम है, इस मामले में my.program.App

एक शीर्ष-स्तरीय फ़ंक्शन पर इस पद्धति का लाभ यह है कि चलाने के लिए क्लास का नाम अधिक स्व-स्पष्ट है, और आपके द्वारा जोड़े गए किसी भी अन्य फ़ंक्शन को क्लास App में स्कैन किया जाता है। यह Object Declaration उदाहरण के समान है, इसके अलावा आप आगे काम करने के लिए किसी भी क्लास को तत्काल करने के नियंत्रण में हैं।

थोड़ी सी भिन्नता जो वास्तविक "हैलो" करने के लिए कक्षा को तुरंत करती है:

class App {
    companion object {
        @JvmStatic fun main(args: Array<String>) {
            App().run()
        }
    }

    fun run() {
        println("Hello World")
    }
}

यह सभी देखें:

मुख्य तरीके varargs का उपयोग कर

इन सभी मुख्य विधि शैलियों का उपयोग varargs के साथ भी किया जा सकता है:

package my.program

fun main(vararg args: String) {
    println("Hello, world!")
}

कंपाइल और कमांड लाइन में कोटलिन कोड चलाएं

जावा कोड को संकलित करने और चलाने के लिए जावा दो अलग-अलग कमांड प्रदान करता है। कोटलिन के रूप में भी आपको अलग-अलग कमांड प्रदान करते हैं।

जावा फ़ाइलों को संकलित करने के लिए javacjava जावा फ़ाइलें चलाने के लिए।

के रूप में ही kotlinc फ़ाइलों kotlin संकलित करने के लिए kotlin kotlin फ़ाइलों को चलाने के लिए।

कमांड लाइन से रीडिंग इनपुट

कंसोल से पारित तर्क को कोटलिन कार्यक्रम में प्राप्त किया जा सकता है और इसे इनपुट के रूप में इस्तेमाल किया जा सकता है। आप कमांड प्रॉम्प्ट से N (1 2 3 वगैरह) तर्कों की संख्या पास कर सकते हैं।

कोटलिन में एक कमांड-लाइन तर्क का एक सरल उदाहरण।

fun main(args: Array<String>) {

    println("Enter Two number")
    var (a, b) = readLine()!!.split(' ') // !! this operator use for NPE(NullPointerException).

    println("Max number is : ${maxNum(a.toInt(), b.toInt())}")
}



fun maxNum(a: Int, b: Int): Int {

    var max = if (a > b) {
        println("The value of a is $a");
        a
    } else {
        println("The value of b is $b")
        b
    }

    return max;

}

यहां, अधिकतम संख्या ज्ञात करने के लिए कमांड लाइन से दो नंबर दर्ज करें। आउटपुट:

Enter Two number
71 89 // Enter two number from command line

The value of b is 89
Max number is: 89

के लिये !! ऑपरेटर कृपया सुरक्षा की जाँच करें।

नोट: ऊपर दिए गए उदाहरण संकलन और इंटेलीज पर चलते हैं।



Modified text is an extract of the original Stack Overflow Documentation
के तहत लाइसेंस प्राप्त है CC BY-SA 3.0
से संबद्ध नहीं है Stack Overflow