یکی از زبانهای مورد استفاده در توسعه اپلیکیشنهای موبایل زبان کاتلین است. درمورد تاریخچه و اینکه چرا گوگل زبان رسمی برای توسعه اپلیکیشنهای اندرویدی را کاتلین معرفی کرده میتوانید با سرچ در گوگل به اطلاعات کاملی برسید. قصد دارم تجربیات خودم در یادگیری کاتلین در چند مقاله به اشتراک بزارم و بیشتر هم از مستندات خود کاتلین(https://kotlinlang.org/docs)برای اینکار استفاده میکنم.
مشابه جاوا در کاتلین، نام پکیج در ابتدای فایلها و کلاسها عنوان میشود. در کاتلین اجباری برای هم نام بودن پکیج برنامه و دایرکتوری آن نیست و دایرکتوری برنامه میتواند نامی متفاوت از پکیج برنامه داشته باشد.
package my.demo import kotlin.text.* // ...
اگر برای فایلی یا کلاسی پکیج تعیین نشود، تمامی محتوای فایل در پکیج default بدون نام قرار میگیرد.
با ایجاد هر فایل کاتلین، تعدادی از پکیجها به صورت پیشفرض اضافه میشوند که عباتند از:
kotlin.* kotlin.annotation.* kotlin.collections.* kotlin.comparisons.* kotlin.io.* kotlin.ranges.* kotlin.sequences.* kotlin.text.*
علاوه بر این موارد، باتوجه به پلتفرم هدف، پکیجهای دیگری نیز به فایل کاتلین اضافه میشوند که عبارتند از:
JVM:
JS:
جدا از مواردی که به صورت پیشفرض در هر فایل کاتلین import میشوند، ممکن است موارد دیگری نیز در فایل import شوند.
میتوان با استفاده از نام، قسمتی از یک پکیج را import کرد:
import org.example.Message
یا اینکه با استفاده از * تمامی محتوای یک پکیج را import کرد:
import org.example.*
اگر تداخل نام در موارد import شده رخ داد، با استفاده از کلمه کلیدی as میتوان نام جدیدی را به صورت محلی به موردی که دچار تداخل نام شده است، اختصاص داد:
import org.example.Message import org.test.Message as testMessage
کاربرد import تنها به اضافه کردن کلاسها محدود نمیشود بلکه میتوان با استفاده از آن موارد زیر را نیز import کرد:
· کلاسهای emum
· متدها و ویژگیهای تعریف شده برای یک شی
· توابع و ویژگیهای top-level
نقطه ورود به هر برنامهای که با زبان کاتلین نوشته شده، تابع main است:
fun main() { println("Hello world!") }
Output: Hello world!
شکل دیگری از تابع main که شامل آرگومان است، به صورت زیر میباشد:
fun main(args: Array<String>) { println(args.contentToString()) }
Output: []
برای چاپ مقادیر در Standard Output از تابع print استفاده میشود:
fun main() { print("Hello ") print("world!") }
Output: Hello world!
تابع println با چاپ مقادیر به خط بعد میرود:
fun main() { println("Hello ") println("world!") }
Output: Hello World!