با سلام خدمت کاربران گرامی سایت پی وی لرن و کاربرانی که علاقمند به دوره آموزش کاتلین هستند. در جلسه گذشته از این دوره آموزشی به آموزش و معرفی معماری برنامه در کاتلین پرداختیم. در این جلسه به آموزش انواع داده های پایه در کاتلین می پردازیم.
در آموزش انواع داده های پایه در کاتلین ، در مورد انواع داده های اولیه موجود در زبان برنامه نویسی کاتلین خواهیم آموخت.
نمایندگی و استفاده از اعداد در کاتلین بسیار شبیه جاوا است اما کاتلین اجازه تبدیل داد های مختلف را نمی دهد.
در جدول زیر می توانید متغیر های مختلف، برای اعداد مختلف را ببینید.
اندازه | نوع |
۶۴ | Double |
۳۲ | Float |
۶۴ | Long |
۳۲ | Int |
۱۶ | Short |
۸ | Byte |
در مثال زیر می بینید که کاتلین چگونه با انواع داده های مختلف کار می کند. لطفا کد زیر را در کدگذاری ما وارد نمایید.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | fun main(args: Array<String>) { val a: Int = 10000 val d: Double = 100.00 val f: Float = 100.00f val l: Long = 1000000004 val s: Short = 10 val b: Byte = 1 println("Your Int Value is "+a); println("Your Double Value is "+d); println("Your Float Value is "+f); println("Your Long Value is "+l); println("Your Short Value is "+s); println("Your Byte Value is "+b); } |
هنگام اجرای کد بالا در کدگذاری، خروجی زیر در کنسول وب تولید می شود.
1 2 3 4 5 6 | Your Int Value is 10000 Your Double Value is 100.0 Your Float Value is 100.0 Your Long Value is 1000000004 Your Short Value is 10 Your Byte Value is 1 |
کاتلین نماد کاراکتر را با استفاده char از نشان می دهد. کاراکتر باید به صورت یک نقل قول مانند ‘c’ اعلام شود.
لطفا کد زیر را در زمینه کدگذاری ما وارد کنید و ببینید کدام کاتلین متغیر کاراکتر را تفسیر می کند.
متغیر کاراکتر نمی تواند مانند متغیر های عددی نشان داده شود.
متغیر Kotlin را می توان به دو روش نشان داد: یکی با استفاده از “var” و دیگری با استفاده از “val”.
1 2 3 4 5 | fun main(args: Array<String>) { val letter: Char // defining a variable letter = 'A' // Assigning a value to it println("$letter") } |
قطعه کد بالا خروجی زیر را در پنجره خروجی مرورگر تولید می کند.
1 | A |
مانند زبان های دیگر برنامه نویسی، Boolean نیز بسیار ساده است.
ما فقط دو مقدار برای Boolean داریم – درست یا نادرست.
در مثال زیر می بینید مه کاتلین چطور بولین را تفسیر می کند.
1 2 3 4 5 | fun main(args: Array<String>) { val letter: Boolean // defining a variable letter = true // Assinging a value to it println("Your character value is "+"$letter") } |
قطعه کد بالا خروجی زیر را در مرورگر تولید می کند.
1 | Your character value is true |
Strings یا رشته ها عبارتند از آرایه ها یا array های شخصیت.
همانند جاوا، رشته ها نیز طبیعت قابل تغییری دارند. دو نوع رشته در کاتلین وجود دارد:
اولی Strings های خام یا رشته های خام نامیده می شود و دومی نیز Strings فرار یا رشته های فرار.
در مثال زیر ما از این رشته ها استفاده می کنیم.
1 2 3 4 5 6 7 | fun main(args: Array<String>) { var rawString :String = "I am Raw String!" val escapedString : String = "I am escaped String!\n" println("Hello!"+escapedString) println("Hey!!"+rawString) } |
در مثال بالا استفاده از رشته های فرار، موجب فراهم آمدن فضای خط اضافی بعد از اولین بیانیه چاپ شده است.
قطعه کد بالا خروجی زیر را در مرورگر تولید می کند.
1 2 3 | Hello!I am escaped String! Hey!!I am Raw String! |
آرایه ها Arrays، آرایه ها مجموعه ای از داده های همگن هستند.
مانند جاوا، کاتلین نیز از آرایه های مختلفی پشتیبانی می کند.
در مثال زیر استفاده از آرایه های مختلف را می بینید.
1 2 3 4 | fun main(args: Array<String>) { val numbers: IntArray = intArrayOf(1, 2, 3, 4, 5) println("Hey!! I am array Example"+numbers[2]) } |
قطعه کد بالا خروجی زیر را تولید می کند. نمایه سازی آرایه مشابه سایر زبان های برنامه نویسی است.
در این جا سعی می کنیم شاخص دومی که مقدار ۳ است را بیابیم.
1 | Hey!! I am array Example3 |
مجموعه بخش بسیار مهمی از ساختار داده ها است که باعث می شود مهندسی نرم افزاری آسان شود.
کاتلین دارای دو نوع مجموعه است :
یکی مجموعه ای غیر قابل تغییر immutable collection (که به معنی لیست ها، نقشه ها و مجموعه هایی است که قابل ویرایش نیستند).
دومی مجموعه قابل تغییر است mutable collection (این نوع مجموعه قابل ویرایش است).
بسیار مهم است که نوع مجموعه ای را که استفاده می کنید به خاطر بسپارید زیرا کاتلین هیچ تفاوت خاصی در آنها نشان نمی دهد.
1 2 3 4 5 6 7 8 9 10 | fun main(args: Array<String>) { val numbers: MutableList<Int> = mutableListOf(1, 2, 3) //mutable List val readOnlyView: List<Int> = numbers // immutable list println("my mutable list--"+numbers) // prints "[1, 2, 3]" numbers.add(4) println("my mutable list after addition --"+numbers) // prints "[1, 2, 3, 4]" println(readOnlyView) readOnlyView.clear() // ⇒ does not compile // gives error } |
قطعه کد بالا خروجی زیر را در مرورگر تولید می کند. این خطا زمانی رخ می دهد که سعی کنیم لیست قابل تغییر مجموعه را پاک کنیم.
1 2 3 | main.kt:9:18: error: unresolved reference: clear readOnlyView.clear() // -> does not compile ^ |
در کاتلین برخی از روش های مفید مانند ()first، last()، filter() و غیره فراهم آمده است.
همه این روش ها خود توصیف اند و آوختن آنها نیز بسیار آسان است.
کاتلین از ساختارهایی شبیه به جاوا استفاده می کند و لذا می توانید مجموعه ای از انتخاب های دلخواه خود را مانند Map و Set را اجرا نمایید.
در مثال زیر Map و Set را با استفاده از روش های مختلف ساخته شده در حال اجرا انجام می دهیم.
1 2 3 4 5 6 7 8 9 10 11 12 13 | fun main(args: Array<String>) { val items = listOf(1, 2, 3, 4) println("First Element of our list----"+items.first()) println("Last Element of our list----"+items.last()) println("Even Numbers of our List----"+items. filter { it % 2 = = 0 }) // returns [2, 4] val readWriteMap = hashMapOf("foo" to 1, "bar" to 2) println(readWriteMap["foo"]) // prints "1" val strings = hashSetOf("a", "b", "c", "c") println("My Set Values are"+strings) } |
قطعه کد بالا خروجی زیر را در مرورگر تولید می کند.
1 2 3 4 5 | First Element of our list----1 Last Element of our list----4 Even Numbers of our List----[2, 4] 1 My Set Values are[a, b, c] |
محدوده ها یکی دیگر از ویژگی های منحصر به فرد کاتلین است.
مانند این ویژگی یک اپراتور ایجاد می کند که به شما کمک می کند از طیف وسیعی از تکرار ها بهره ببرید.
برای مثال ()rangeTo یک اپراتور از (..) است.
1 2 3 4 5 6 7 8 9 | fun main(args: Array<String>) { val i:Int = 2 for (j in 1..4) print(j) // prints "1234" if (i in 1..10) { // equivalent of 1 < = i && i < = 10 println("we found your number --"+i) } } |
قطعه کد بالا خروجی زیر را در مرورگر تولید می کند.
1 | 1234we found your number --2 |
در این جلسه آموزشی به صورت مفصل، به آموزش انواع داده های پایه در کاتلین پرداختیم.
در جلسه بعد شما را با جریان کنترل در کاتلین آشنا خواهیم نمود.
با پی وی لرن همراه باشید.