47 lines
685 B
Markdown
47 lines
685 B
Markdown
---
|
|
title: Extension Functions
|
|
---
|
|
|
|
# Extension Functions
|
|
|
|
Kotlin supports extension functions & extension variables, which allow you to add new functionality to a class without modifying the class itself.
|
|
|
|
### Basic Usage
|
|
|
|
#### Extension Function
|
|
|
|
```kotlin
|
|
fun String.containsSpaces(): Boolean {
|
|
return contains(" ")
|
|
}
|
|
|
|
val myString = "Hello World"
|
|
|
|
print(myString.containsSpaces())
|
|
```
|
|
|
|
Output:
|
|
```shell
|
|
true
|
|
```
|
|
|
|
#### Extension Variable
|
|
|
|
```kotlin
|
|
val <T> List<T>.lastIndex: Int
|
|
get() = size - 1
|
|
|
|
val myList = listOf(1,2,3,4,5)
|
|
|
|
print(myList.lastIndex)
|
|
```
|
|
|
|
Output:
|
|
```shell
|
|
4
|
|
```
|
|
|
|
#### Resources
|
|
|
|
* [Kotlin Extensions](https://kotlinlang.org/docs/reference/extensions.html)
|