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