خانه » Kotlin » اندروید با kotlin » اندروید با kotlin قسمت چهارم – Kotlin Syntax (متغیرها Variables)

اندروید با kotlin قسمت چهارم – Kotlin Syntax (متغیرها Variables)

در قسمت قبلی آموزش :اندروید با kotlin قسمت سوم – Kotlin Syntax (توابع Functions)  با توابع در کاتلین آشنا شدیم

در این پست با متغیر ها Variable در کاتلین بیشتر آشنا می شویم

 

متغیر ها در کاتلین (Variables)

در کاتلین با یکی از ۲ کلمه کلیدی var و یا val میتونید یک متغیر رو تعریف کنید.

var برای متغیر های قابل تغییر استفاده می شود

val برای متغیر های غیر قابل تغییر استفاده می شود

val immediateAssignment: Int = 1

val inferredTypeInt = 2

val deferredAssignment: Int
deferredAssignment = 3

var mutableInferredTypeString = "some string"
mutableInferredTypeString += "some concat"

 

به مثال های بالا توجه کنید، برای تعریف یک متغیر ابتدا از var و یا val استفاده می شود، سپس نام متغیر و بعد از : نوع متغیر می آید در اولین مثال بالا Int نمایانگر مقدار عددی integer هست و در نهایت می توانید به آن مقدار بدهید = ۱ در مثال بالا، مقدار ۱ را در متغیر قرار می دهد.

در مثال دوم، نوع متغیر تعریف نشده، اما چون مقدار داده شده، به صورت خودکار کاتلین نوع اون رو تعریف می کنه و نیازی نیست که ما مقدار اون رو تعریف کنیم

در مثال سوم، deferredAssignment  نوعش مشخص شده، و در خط بعدی مقدار دهی شده ( val فقط یکبار مقدار می گیرد و دیگر قابل تغییر نیست)

در مثال آخر از var استفاده شده، که در خط بعد می بینیم که مقدار اون تغییر پیدا کرده.

 

در تعریف متغیر ها یک سری نکات هست که باید توجه کنیم.

مقدار val رو اگر در سطج کلاس تعریف می کنیم، باید در همانجا مقدار بدهیم، و نمیتونیم مثلا در داخل متد onCreate و یا جای دیگه اون رو مقدار دهی کنیم:

    val y: Int = 5
    val z = 5

اگر از var استفاده کنیم، هم باید مقدار اولیه رو مشخص کنیم، مگر اینکه مقدار null باشد، که بازهم باید اون رو مشخص کنیم و هم اینکه نوع متغیر رو باید nullable تعریف کنیم ( که این کار با افزودن ? بعد از نوع متغیر انجام میشه)

var x: Int? = null

نوع دیگری از مقدار دهی با var هست، که برای زمانی هست که متغیر ما قطعا null نیست، اما هنوز در زمان تعریف اون در سطح کلاس، نمیتونیم بهش مقدار بدیم، مثلا فرض کنید مقداری رو قراره از intent بگیریم و بریزیم توی یک متغیر، در این حالت از lateinit var استفاده می کنیم، این حالت به ما اجازه میده متغیری رو تعریف کنیم، بدون اینکه به اون مقدار اولیه بدیم، اما در استفاده از اون ها باید دقت کنیم، و حتما باید قبل از استفاده از متغیر تعریف شده، اون رو مقدار دهی کنیم:

    lateinit var movieAdapter: MovieAdapter

...

 private fun initializeRecyclerView() {
        this.movieAdapter = MovieAdapter() { item ->
            presenter.onMovieClicked(item)
        }

        recycler.adapter = movieAdapter
    }

یج

واسه اینکه بهتر به یادتون بمونه، var از variable میاد، که به معنی چیزی که قابل تغییر هست (متغیر)

و val از value میاد به معنی مقدار، و مقادیر تغییر نمی کنند.

 

 

 

در قسمت بعدی در مورد Nullability که یکی از مهمترین قسمت های کاتلین هست و خیلی هم به تعریف متغیر ها مربوط میشه صحبت می کنم: اندروید با kotlin قسمت پنجم– Nullability

 

امیدوارم این آموزش هم به دردتون بخوره، لطفا کامنت بزارید و اگر سوالی دارید میتونید اینجا و یا در انجمن سایت بپرسید.

 

 

لینک آموزش مرتبط: https://medium.com/@jcmsalves/kotlin-syntax-part-i-why-am-i-excluded-86772a61fade

برچسب ها:
پست قبلی
پست بعدی

درباره ایلیا عابدینی

برنامه نویس اندروید و کارشناس مهندسی پزشکی، نفر سوم مسابقه برنامه نویسی اندروید http://www.schallenge.ir ، از سال 92 برنامه نویسی اندروید رو شروع کردم و در حال حاضر در شرکت ارتباط کنترل فراگستر در حال توسعه اپلیکیشن های اندرویدی می باشدم ، این وبلاگ رو ساختم تا تجربیات روزانه و مفید خودم رو داخل اون بزارم. رزومه : iact.ir/cv

دیدگاهتان را ثبت کنید

آدرس ایمیل شما منتشر نمی شود.علامت دارها لازمند. *

*

رفتن به بالا