57 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
		
		
			
		
	
	
			57 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
|   | --- | ||
|  | title: Functions | ||
|  | --- | ||
|  | 
 | ||
|  | # Functions
 | ||
|  | 
 | ||
|  | ### Basic Usage
 | ||
|  | 
 | ||
|  | #### Declaration
 | ||
|  | 
 | ||
|  | `fun` keyword is used to define the function   | ||
|  | `a` and `b` are input parameters of type `Int`   | ||
|  | `Int` (after brackets) is matching the return type   | ||
|  | ```kotlin | ||
|  | fun sum(a: Int, b: Int): Int { | ||
|  |    return a + b | ||
|  | } | ||
|  | ``` | ||
|  | 
 | ||
|  | 
 | ||
|  | Same expression can be shortened (omit function brackets), meaning that return type is infered.   | ||
|  | Return keyword can be also omited in such expression body | ||
|  | ```kotlin | ||
|  | fun sum(a: Int, b: Int) = a + b | ||
|  | ``` | ||
|  | 
 | ||
|  | 
 | ||
|  | Return type can also be omitted (you don't have to use `void` return type) if function does not return anything | ||
|  | ```kotlin | ||
|  | fun printSum(a: Int, b: Int) { | ||
|  |     println("sum of $a and $b is ${a + b}") | ||
|  | } | ||
|  | ``` | ||
|  | 
 | ||
|  | 
 | ||
|  | #### Usage
 | ||
|  | 
 | ||
|  | 
 | ||
|  | Simple method call: | ||
|  | ```kotlin | ||
|  | val result = sum(2, 3) | ||
|  | ``` | ||
|  | 
 | ||
|  | Named arguments in method call: | ||
|  | ```kotlin | ||
|  | val result = sum(a = 1, b = 5) | ||
|  | ``` | ||
|  | 
 | ||
|  | Support of default arguments (if parameter is not provided in method call): | ||
|  | ```kotlin | ||
|  | fun write(content: String, destination: String = "/tmp/") { ... } | ||
|  | ``` | ||
|  | 
 | ||
|  | #### Resources
 | ||
|  | * [Basic Syntax Reference](https://kotlinlang.org/docs/reference/basic-syntax.html) | ||
|  | * [Kotlin Functions Reference](https://kotlinlang.org/docs/reference/functions.html) |