ডেভসংকেত

কটলিন প্রোগ্রামিং

কটলিন একটি ক্রস-প্লাটফর্ম, স্টাটিকালি টাইপ প্রোগ্রামিং ল্যাংগুয়েজ। এটি পুরোপুরি জাভা ভার্চুয়ার মেশিন (JVM) এর উপর ভিত্তি করে ডিজাইন করা হয়েছে। ২০১৮ সালে Google I/O ইভেন্টে গুগল অফিশিয়ালি এন্ড্রয়েড ডেভেলপমেন্ট এর অফিসিয়াল ল্যাংগুয়েজ হিসেবে কটলিনকে ঘোষণা দেয়। এই Cheat-Sheet এর মাধ্যমে কটলিন এর দৈনন্দিন প্রয়োজনীয় টপিকগুলোকে হাইলাইট করা হয়েছে।

কন্ট্রিবিউটর

    শেয়ার করুন

    ভ্যারিয়েবল ও ডেটা টাইপ

    • একবার মান সেট করলে আর পরিবর্তন করা যায়না

      val
    • মান পরিবর্তনযোগ্য

      var
    • ৮-বিট

      Byte
    • ১৬-বিট

      Short
    • ৩২-বিট

      Int
    • ৬৪-বিট

      Long
    • ৩২-বিট

      Float
    • ৬৪-বিট

      Double

    কন্ট্রোল ফ্লো

    • সাধারন if-else

      if(condition) { ... } else { ... }
    • মাল্টিপল কন্ডিশন

      if (score in 0..1000) { }
    • when যেটি গতানুগতিক switch এর বিকল্প হিসেবে ব্যাবহার করা হয়

      when (x) {
          1 -> print("x == 1")
          2 -> print("x == 2")
          else -> {
              print("x is neither 1 nor 2")
          }
      }
    • for loop গতানুগতিক foreach এর মত করে কাজ করে

      for (item in collection) print(item)
    • for loop গতানুগতিক foreach এর মত করে কাজ করে

      for (item in collection) print(item)

    স্কোপ ফাংশন

    • লেট স্কোপ ফাংশন ,নাল চেক করার জন্য

        mediaString?.let { media ->
      	//do your opeartion you want to do on mediaString object.But use "media" in stead of mediaString. It is an alternative of  "if(mediaString != null){}" in java
      }

    বিটওয়াইজ অপারেশনস

    • এন্ড অপারেশন

      val andResult  = a and b
    • অর অপারেশন

      val orResult   = a or b
    • এক্স অর অপারেশন

      val orResult   = a xor b
    • রাইট শিফট

      a shr 2
    • লেফট শিফট

      a shl 2
    • আনসাইনড রাইট শিফট

      a ushr 2

    আর্গুমেন্ট পাস ও মেথড ডাটা রিটার্ন

    • ভ্যারয়েবল নাম্বার অফ আর্গুমেন্টস

      fun doSomething(vararg numbers: Int) { }
    • সিঙ্গেল এক্সপ্রেশন ফাংশন

      fun getAge(): Int = age 
    • সিঙ্গেল এক্সপ্রেশন ফাংশন আরো সিম্পলভাবে

      fun getAge() = age // return-type is Int    

    স্ট্রিং ও ক্যারেকটার

    • সিঙ্গেল লাইন স্ট্রিং

      val singleLine: String = “Hello World”
    • বহু লাইনের স্ট্রিং

      val multiLines: String = """Multi Line"""
    • ক্যারেকটার

      val c: Char = ‘s’
    • বহু লাইনের স্ট্রিং যুক্তকরন

      val text = """
      |First Line
      |Second Line
      |Third Line """.trimMargin()
    • সাব স্ট্রিং করুন

      substr = str.substring(8..13)

    ফাংশন

    • সাধারন ফাংশন

      fun simpleFunc() { println(“Hello World”) }
    • এক লাইনের ফাংশন

      fun singleLineFunc() = println(“Hello World”)  

    টারনারি অপারেশনস

    • টারনারি অপারেশন

      val numOfTypes = if (x > 5) x > 5 else x <= 5

    টাইপ চেক এবং কাস্টিং

    • টাইপ চেক

      var age = object as? AgeData // var age = object as AgeData?
    • টাইপ চেক ( implicit )

      if ( object is age ) { var age = object } // smart casting

    ডেভসংকেত সম্পর্কে

    ডেভসংকেত এর লক্ষ্য হচ্ছে বাংলাতে একটা বড় চিটশিটের ভান্ডার গড়ে তোলা। এটা সম্পূর্ণ স্বাধীন এবং ওপেন সোর্স গিটহাব অর্গানাইজেশন।

    স্পন্সর