Kotlin چیست؟ آموزش کامل و جامع Kotlin
فهرست مطالب
Kotlin چیست؟
Kotlin یک زبان برنامهنویسی مدرن، کاربردی و شیءگرا است که توسط JetBrains توسعه یافته است. این زبان به طور کامل با Java سازگار است و میتواند روی JVM اجرا شود. از سال 2017، گوگل Kotlin را به عنوان زبان رسمی توسعه اندروید معرفی کرد.
fun main() {
println("سلام دنیا!")
val name = "کاربر"
var age = 25
println("سلام $name، سن شما $age سال است.")
}
تاریخچه Kotlin
Kotlin در سال 2011 توسط تیم JetBrains معرفی شد. هدف اصلی، ایجاد زبانی سازگار با Java بود که ویژگیهای مدرن برنامهنویسی را ارائه دهد.
ساختار پایه Kotlin
برنامههای Kotlin از ساختار ساده و منعطفی برخوردار هستند:
// تعریف پکیج
package com.example.app
// ایمپورتهای مورد نیاز
import kotlin.text.*
// تعریف کلاس
class Person(
val name: String,
var age: Int
) {
fun introduce() {
println("من $name هستم و $age سال دارم.")
}
}
// تابع اصلی
fun main() {
val person = Person("علی", 30)
person.introduce()
}
ویژگیهای اصلی Kotlin
Kotlin ویژگیهای مدرن و کاربردی زیادی را ارائه میدهد که برنامهنویسی را سادهتر و ایمنتر میکند:
امنیت در برابر null
var name: String = "علی" // نمیتواند null باشد
var nullableName: String? = null // میتواند null باشد
// استفاده از عملگر ?.
val length = nullableName?.length // اگر null باشد، length هم null خواهد بود
// استفاده از عملگر ?: (Elvis)
val l = nullableName?.length ?: 0 // اگر null باشد، مقدار 0 برگردانده میشود
توابع گسترش (Extension Functions)
fun String.addPrefix(prefix: String): String {
return "$prefix $this"
}
val name = "علی"
println(name.addPrefix("آقای")) // خروجی: آقای علی
Data Classes
data class User(
val name: String,
val age: Int,
val email: String
)
val user = User("مریم", 28, "[email protected]")
println(user.toString()) // تمام متدهای equals(), hashCode(), toString() به صورت خودکار ایجاد میشوند
سینتکس و دستورات Kotlin
متغیرها و ثابتها
val unchangeable = "این مقدار تغییر نمیکند" // ثابت
var changeable = "این مقدار قابل تغییر است" // متغیر
// تعریف نوع صریح
val name: String = "علی"
var age: Int = 25
// تبدیل نوع خودکار
val double: Double = 3.14
val float: Float = double.toFloat()
کنترل جریان برنامه
// when expression
val result = when (age) {
in 0..12 -> "کودک"
in 13..19 -> "نوجوان"
in 20..65 -> "بزرگسال"
else -> "سالمند"
}
// for loop
for (i in 1..5) {
println(i)
}
// while loop
var counter = 0
while (counter < 5) {
println(counter)
counter++
}
برنامهنویسی شیءگرا در Kotlin
// تعریف کلاس پایه
open class Animal(val name: String) {
open fun makeSound() {
println("صدای حیوان")
}
}
// کلاس مشتق شده
class Cat(name: String) : Animal(name) {
override fun makeSound() {
println("میو میو")
}
}
// استفاده از object برای singleton
object DatabaseConfig {
val url = "jdbc:mysql://localhost:3306/db"
fun connect() {
println("اتصال به دیتابیس...")
}
}
کوروتینها در Kotlin
کوروتینها راهکار Kotlin برای برنامهنویسی آسنکرون هستند که به شما امکان میدهند کد همزمان را به شکل سادهتری بنویسید.
import kotlinx.coroutines.*
fun main() = runBlocking {
launch { // راهاندازی یک کوروتین جدید
delay(1000L) // تأخیر غیر مسدودکننده
println("دنیا!")
}
print("سلام ") // اجرای اصلی ادامه مییابد
}
// مثال پیشرفتهتر
suspend fun fetchUserData(): User {
delay(1000L) // شبیهسازی عملیات شبکه
return User("علی", 30)
}
suspend fun fetchUserPosts(userId: String): List {
delay(500L)
return listOf(Post("عنوان 1"), Post("عنوان 2"))
}
توسعه اندروید با Kotlin
Kotlin زبان اصلی برای توسعه اندروید است و ویژگیهای خاصی برای این منظور دارد:
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
findViewById
تعامل با Java
یکی از مهمترین ویژگیهای Kotlin سازگاری کامل با Java است:
// کلاس Java
public class JavaClass {
public String getGreeting() {
return "Hello from Java!";
}
}
// استفاده در Kotlin
fun main() {
val javaObject = JavaClass()
println(javaObject.greeting) // استفاده از property syntax
}
ابزارهای مفید برای کار با Kotlin
محیطهای توسعه
- IntelliJ IDEA
- Android Studio
- Visual Studio Code با افزونه Kotlin
ابزارهای Build
- Gradle
- Maven
- Kotlin Compiler
شروع کار با Kotlin
برای شروع کار با Kotlin، میتوانید از این مراحل پیروی کنید:
۱. نصب JDK
ابتدا باید JDK را نصب کنید (نسخه 8 یا بالاتر)
۲. نصب IDE
IntelliJ IDEA یا Android Studio را نصب کنید
۳. ایجاد پروژه جدید
fun main() {
println("به دنیای Kotlin خوش آمدید!")
// آزمایش چند ویژگی ساده
val numbers = listOf(1, 2, 3, 4, 5)
numbers.forEach { println(it) }
}
بهترین شیوههای کدنویسی Kotlin
۱. استفاده از ویژگیهای مدرن
از ویژگیهای مدرن Kotlin مانند data classes، extension functions و null safety استفاده کنید.
۲. استفاده از کوروتینها
برای عملیاتهای آسنکرون، به جای callbackها از کوروتینها استفاده کنید.
۳. رعایت اصول SOLID
اصول برنامهنویسی شیءگرا را رعایت کنید.