Single expression functions
Usually, a function must declare its return type; an exception exists only for functions that consist of a single expression. These are often referred to as one line or single line functions. Such functions can use a shortened syntax that omits the braces and uses the = symbol before the expression rather than the return keyword:
fun square(k: Int) = k * k
Notice how the function does not need to declare the return value of Int. This is inferred by the compiler. The rationale behind this feature is that very short functions are easy to read, and the return value is a bit of extra noise that doesn't add much to the overall process. However, you can always include the return value if you think it makes things clearer:
fun square2(k: Int): Int = k * k
Single expression functions can always be written in regular style if desired. For example, the following two functions are identical and compiled to the same bytecode:
fun concat1(a: String, b: String...