Kotlin Intermediate

1. Functions


```kotlin
fun add(a: Int, b: Int): Int {
return a + b
}

fun greet(name: String) = "Hello, $name"
```

2. Null Safety


```kotlin
var name: String? = "Kotlin"
name = null

println(name?.length) // safe call
println(name ?: "No name") // Elvis operator
```

3. Collections


```kotlin
val numbers = listOf(1, 2, 3, 4, 5)
val mutableNumbers = mutableListOf(1, 2, 3)

val set = setOf(1, 2, 2, 3)
val map = mapOf("a" to 1, "b" to 2)
```

4. Classes and Objects


```kotlin
class Person(val name: String, var age: Int) {
fun display() {
println("Name: $name, Age: $age")
}
}

val person = Person("Rakesh", 25)
person.display()
```

5. Inheritance


```kotlin
open class Animal {
open fun sound() = println("Animal sound")
}

class Dog: Animal() {
override fun sound() = println("Bark")
}

val dog = Dog()
dog.sound()
```

6. Extensions


```kotlin
fun String.addHello() = "Hello $this"

println("World".addHello())
```