First-class functions - You work with functions (pieces of behavior) as values. You can store them in variables, pass them as parameters, or return them from other functions.
Immutability - You work with immutable objects, which guarantees that their state can’t change after their creation.
No side effects - You use pure functions that return the same result given the same inputs and don’t modify the state of other objects or interact with the outside world.
摘抄《Kotlin in action》