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)
 |