مشخصات مقاله
-
689
-
0.0
-
2126
-
0
-
0
انواع اصلی مربوط به Kotlin
نوعهای اصلی مربوط به Kotlin
در این بخش میخواهیم در رابطه با نوعهای دادهای اصلی موجود در زبان برنامهنویسی Kotlin بپردازیم.
عدد
نمایش اعداد در Kotlin تا حد زیادی شبیه به جاوا است. با این حال تبدیل داخلی انواع دادههای مختلف در Kotlin امکانپذیر نیست. در جدول زیر میتوانید طول متغیرهای مختلف برای اعداد مختلف را مشاهده کنید.
در مثال زیر میتوانید چگونگی کارکرد Kotlin با انواع دادههای مختلف را مشاهده کنید. لطفاً مجموعه کد زیر را داخل زمینهی برنامهنویسی ما وارد کنید.
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);
}
پس از اجرای کد بالا خروجی زیر در وب کنسول نمایش داده میشود.
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
کاراکتر
Kotlin با استفاده از char کاراکترها را نمایش میدهد. کاراکترها باید مانند ‘c’ داخل علامت ‘ ’ اعلان شوند. لطفاً کد زیر را در زمینهی کد نویسی ما وارد کنید تا چگونگی تفسیر متغیر کاراکتر توسط Kotlin مشخص شود. متغیر کاراکتر نمیتواند مانند متغیر عدد اعلان شود. متغیر Kotlin را میتوان به دو صورت یعنی با استفاده از “var” و با استفاده از “val” اعلان کرد.
fun main(args: Array< String >) {
val letter: Char// defining a variable
letter = 'A'// Assigning a value to it
println("$letter")
}
نتیجهی تکه کد بالا در زیر نمایش داده شده است.
A
بولی
نوع بولی مانند زبانهای برنامهنویسی دیگر بسیار ساده است. در بولی ما تنها دو مقدار true و false را داریم. در مثال زیر چگونگی تفسیر این نوع از داده توسط Kotlin نمایش داده شده است.
fun main(args: Array< String >) {
val letter: Boolean// defining a variable
letter = true// Assinging a value to it
println("Your character value is "+"$letter")
}
کد بالا نتیجهی زیر را در مرورگر حاصل میکند.
Your character value is true
رشته
رشتهها آرایههای کاراکتری هستند و مانند جاوا ذاتاً تغییرناپذیر هستند. در Kotlin دو نوع برای رشته در نظر گرفته شده است. یکی raw String و دیگری escaped String نامیده میشود. در مثال زیر از این رشتهها استفاده شده است.
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)
}
مثال بالا از escaped String به ما کمک میکند تا پس از اولین دستور چاپ یک خط اضافی برای فاصله ایجاد کنیم که نتیجهی آن در زیر نمایش داده شده است.
Hello!I am escaped String! Hey!!I am Raw String!
آرایه
آرایهها مجموعهای از دادههای همگن هستند. Kotlin مانند جاوا از آرایههای دارای انواع مختلفی از داده پشتیبانی میکند. در مثال زیر از آرایههای مختلفی استفاده کردهایم.
fun main(args: Array< String >) {
val numbers: IntArray = intArrayOf(1, 2, 3, 4, 5)
println("Hey!! I am array Example"+numbers[2])
}
نتیجهی این کد در پایین نشان داده شده است. ایندکس کردن آرایه شبیه به زبانهای برنامهنویسی دیگر است. در این جا ما به دنبال ایندکس دوم که مقدار آن “3” است میگردیم.
Hey!! I am array Example3
مجموعه
مجموعه بخش مهمی از ساختار داده است و کار نوشتن نرمافزار را برای مهندسان آسان میکند. Kotlin دو نوع مجموعه دارد که یکی immutable collection (لیستها، نقشهها و مجموعههایی که ویرایش پذیر نیستند) و دیگری mutable collection (این نوع از مجموعه ویرایش پذیر است) نام دارد. این نکته حائز اهمیت است که نوع مجموعهی استفاده شده در برنامهی خود را به خاطر داشته باشیم. چرا که سیستم Kotlin هیچ تفاوت مشخصی را بین آنها قائل نمیشود.
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
}
نتیجهی کد بالا در زیر نشان داده شده است. زمانی که بخواهیم لیست تغییرپذیری از مجموعه را پاک کنیم، با یک خطا مواجه میشویم.
main.kt:9:18: error: unresolved reference: clear readOnlyView.clear()// -> does not compile ^
Kotlin در مجموعههای خود برخی از متدهای کاربردی مانند first(), last(), filter() و ... را فراهم میکند. تمامی این متدها گویا هستند و پیادهسازی آنها آسان است. علاوه بر این Kotlin طی پیادهسازی مجموعه از همان ساختار جاوا پیروی میکند. بهصورت آزادانه میتوانید مجموعهی دلخواه خود را مانند Map و Set پیاده کنید.
در مثال زیر با استفاده از متدهای پیشفرض مختلف Map و Set پیادهسازی شدهاند.
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)
}
نتیجهی این کد در پایین نشان داده شده است.
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]
دامنه
دامنهها مشخصهی منحصربهفرد دیگری از Kotlin هستند. Kotlin مانند هسکل عملگری را فراهم میکند که شما به کمک آن میتوانید داخل یک دامنه به تکرار بپردازید. این نوع از داده ذاتاً با استفاده از rangeTo() پیادهسازی میشود و شکل عملگر آن (..) است.
در مثال زیر چگونگی تفسیر این عملگر دامنه توسط Kotlin نشان داده شده است.
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)
}
}
نتیجهی کد بالا در ادامه نشان داده شده است.
1234we found your number --2