
کاتلین یک زبان کاملاً متناسب است که ممکن است موانع اولیه را برای افرادی که از پایتون تفسیر شده و تایپ شده استفاده می کنند فراهم کند. این مقاله با هدف توضیح بخش عمده ای از نحوه و مفاهیم کاتلین نوشته شده است.
کاتلین را می توان برای چندین سیستم عامل مختلف کامپایل کرد. در این مقاله فرض می کنیم که پلتفرم هدف دستگاه مجازی جاوا است (android)، که کد شما بهbytecodeجاوا وارد می شود و بنابراین با اکوسیستم بزرگ کتابخانه های جاوا قابل تعامل خواهد بود.
متغیرها در کاتلین
اعداد کاتلین مجموعه ای ازtypeهای داخلی را ارائه می دهد که اعداد را نشان می دهد.برای اعداد صحیح چهار نوع وجود دارد که اندازه های مختلف دارند و از این رو range valueهستند.
Type | Size (bits) | Min value | Max value |
Byte | 8 | -128 | 127 |
Short | 16 | -32768 | 32767 |
Int | 32 | -2,147,483,648 (-231) | 2,147,483,647 (231 - 1) |
Long | 64 | -9,223,372,036,854,775,808 (-263) | 9,223,372,036,854,775,807 (263 - 1) |
باInt تقریبا پرکاربرد تر است شروع می کنیم. برای تعریف متغیر در زبان کاتلین از کلمه کلیدیvar یاvalقبل از اسم متغیر استفاده میکنیم در ادامه تفاوت هایی که این دو با هم دارند را توضیح میدهیم. اگر ازvalاستفاده کنیم پس از مقدار دهی دیگر نمیتوان آن را مقدار دهی کرد و فقط میتوانیم مقدارش را بخوانیم اماvar پس از مقدار دهی میتوانیم مقدارش را تغییر دهیم.
var m=10
اینجا ما یک متغیر از نوعint تعریف کردیم البته ما جایی ننوشتیمintبراساس مقداری که بهش دادیمintذخیره کرد.همین متغیر را میتوان به شکل دیگری تعریف کرد.
var a:Int=20
ما مشخص کردیم که نوعشint هست.این روش زمانی به کار میرود که ما میخواهیم این متغیر را در خط های بعدی مقدار دهی کنیم.
var s:Int
s=30
همچنین میتوانیم مقدار پیش فرض nullقرار بدهیم برای متغیر.
var r:Int?=null
اگر متغیر بالا را باval بنویسیم خطایcannot reassignedمیگیرد از کد ما
val b:Int?=null
b=20
متغیر long درکاتلین
Longهمانint است فقط برای اعداد بزرگتر به کار میرود و حافظه بیشتر نسبت بهint اشغال میکند
var a:Long=20
متغیر String در کاتلین
در این نوع متغیر ما محدودیتی نداریم که چه مقداری به آن بدهیم.هم میتونیم عدد بدیم هم حروف اما عددی که بهStringمی دهیم قابلیت این را ندارد که عملیات ریاضی روی آن انجام شود.
var name = "maysam"
var lastname: String = "babaei"
var phone: String? = ""
phone = "123456789"
var number = "2000000000"
متغیر Double در کاتلین
این نوع متغیر برای اعداد اعشاری استفاده میشود بجای اعشار از .استفاده میشود.
var a=12.5
var b:Double=12.5
var c:Double?=null
c=20.0
متغیر Boolean در کاتلین
این متغیر دو مقدار میگیردtrueوfalseالبته در زبان کاتلین مقدارnullمیتوانیم ذخیره کنیم
var a=false
var b:Boolean=true
var c:Boolean?=null
c=true;
تبدیل متغیر ها در کاتلین
بعضی مواقع و بسته به نیاز ما لازم هست که متغیر ها را تبدیل کنیم مثلا ازdoubleبهint وlong یا برعکس یا int بهstring
به کد زیر توجه کنید در این کد ما بدون تبدیل کردن مقدار یک متغیر از جنسbyteرو در یه متغیر از جنسInt ذخیره کردیم اما به ما خطا داده
var b: Byte = 1
var i: Int = b
کد صحیح به صورت زیر میباشد:
var b: Byte = 1
var i: Int = b.toInt()
انواع تبدیل های مورد استفاده
toByte(): Byte
toShort(): Short
toInt(): Int
toLong(): Long
toFloat(): Float
toDouble(): Double
toChar(): Char
toString():String
اپراتور های ریاضی در زبان کاتلین
کاتلین از مجموعه اپراتور های ریاضی برای انجام عملیات روی اعداد استفاده میکند (+ - * / %)
var x = 10
var y = 10
var s = x + y
var j = x / y
var z = x * y
var m=x-y
آرایه ها در زبان کاتلین
آرایه ها توسط کلاسarrayنمایش داده میشوند و دارای تابع هایی چونget وset است آرایه سایز و یکسری قایلیت دیگر را نیز به همراه خود دارد
class Array<T> private constructor() {
val size: Int
operator fun get(index: Int): T
operator fun set(index: Int, value: T): Unit
operator fun iterator(): Iterator<T>
// ...
}
برای ایجاد یک آرایه ، می توانیم ازarrayOfاستفاده کنیم و مقادیر را در آن وارد کنیم ،ماarrayOf(1,2,3)را اینجوری مینویسیم اما اون به شکل آرایه ذخیره میشود [1,2,3]همچنین ما میتوانیم ازarrayOfNulls()استفاده کنیم برای ایجاد آرایه ای با اندازه مشخص و عناصر داخل آن تهی باشند.
ما اگر از سازندهArrayاستفاده کنیم میتوانیم اندازه آزایه وعملکردهایی را بگیریم که مقدار های اولیه هر عنصر از آرایه را با توجه به شمارهindexآن بازگردانیم
val asc = Array(5) { i -> (i * i).toString() }
آرایه ها در زبان کاتلین ثابت هستند. یعنی ما اجازه نداریم کهArray<String>را به یکArray<Any>اختصاص دهیم دلیلش هم این است که در زمان اجرا ممکن است خطا بدهد. اما می توانیم از <Array <out Anyاستفاده کنیم.
زبان کاتلین یک سری کلاس های کمکی دارد برای ایجاد آرایه که از کلاسArrayارث بری نکرده اند اما خصوصیات تقریبا یکسانی دارند.
val x: IntArray = intArrayOf(1, 2, 3)
x[0] = x[1] + x[2]
// مقدار این آرایه به شکل [0, 0, 0, 0, 0] است و سایز آن 5 است
val arr1 = IntArray(5)
//مقدار این آرایه به شکل [73, 73, 73, 73, 73] وسایز آن 5 است
val arr2 = IntArray(5) { 73 }
//این آرایه با روش لامبدا مقدار دهی میشود مقدار آن [0, 1, 2, 3, 4] است وسایزش 5 است
var arr3 = IntArray(5) { it * 1 }
ممنون که همراه ما بودید در مقاله های بعدی به آموزش دستورات شرطی و حلقه ها در کاتلین ارائه خواهیم داد نظرات و مشکلات خود را در قسمت نظرات با ما در میان بگذارید.
جدیدترین ویدئوهای آموزشی
در بخش TV باگتو، آموزش های کوتاه و جدید را مشاهده نمایید
برای ارسال نظر باید وارد حساب کاربری خود شوید
ورود به حساب کاربری ثبت نام
عالي بود 👏👏👏