Official docs outline
20 sections- Basic syntax
Packages, functions, val vs var, string templates, conditionals, loops, ranges.
- Basic types
Numbers, Boolean, Char, String, arrays, type conversions.
- Control flow
if and when expressions, for/while loops, break/continue and returns.
- Functions
Named and default arguments, varargs, single-expression functions, infix, tail recursion.
- Lambdas and higher-order functions
Function types, lambda expressions, closures, trailing lambdas and function references.
- Inline functions
inline, noinline, crossinline and reified type parameters.
- Null safety
Nullable types, safe calls, Elvis operator, not-null assertion and smart casts.
- Classes and objects
Constructors, properties, init blocks, visibility modifiers, nested classes and inheritance.
- Interfaces and inheritance
Interfaces, abstract and open classes, overriding rules and property overrides.
- Data, sealed and enum classes
Data classes, copy and destructuring, sealed classes and interfaces, enum classes.
- Objects and companions
Singleton objects, companion objects and object expressions.
- Extensions
Extension functions and properties and how they resolve statically.
- Scope functions
let, run, with, apply and also, and choosing among them.
- Generics
Type parameters, variance (in/out), declaration-site variance, type projections, constraints.
- Delegation and delegated properties
Class delegation with by, lazy, observable and custom delegated properties.
- Collections
List, Set, Map, mutable vs read-only, sequences, and collection operations.
- Exceptions
try/catch/finally as expressions, throw, no checked exceptions, Nothing type.
- Operator overloading and DSLs
Conventions for operators, invoke, and building type-safe builders.
- Coroutines
suspend functions, launch/async, structured concurrency, dispatchers, cancellation and exceptions.
- Flow and channels
Cold asynchronous streams, flow operators, StateFlow, SharedFlow and channels.
Each section links to the official page. Titles and summaries by Extra Credit; the docs belong to their authors.
Versions and support
6 release lines| Line | Released | Latest | Support |
|---|---|---|---|
| 2.4 | Jun 3, 2026 | 2.4.21 | Supported |
| 2.3 | Dec 16, 2025 | 2.3.21 | Ended Jun 3, 2026 |
| 2.2 | Jun 23, 2025 | 2.2.21 | Ended Dec 16, 2025 |
| 2.1 | Nov 27, 2024 | 2.1.21 | Ended Jun 23, 2025 |
| 2.0 | May 21, 2024 | 2.0.21 | Ended Nov 27, 2024 |
| 1.9 | Jul 6, 2023 | 1.9.25 | Ended May 21, 2024 |
Source: endoflife.date