ডেভসংকেত

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

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

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

  • Kayuemkhan
  • iamraufu
  • mdgaziur
  • ssjsaha
  • ShakilAhmedShaj

শেয়ার করুন

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

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

    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

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

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

স্পন্সর