Kotlin
☰
Toggle Theme
Kotlin Topics
Basics
Introduction
Variables & Data Types
Type Inference
Strings & Interpolation
Comments
Control Flow
If-Else
When Expression
Loops
Ranges
Break & Continue
Functions
Basic Functions
Default & Named Arguments
Vararg Parameters
Lambdas & Higher-Order Functions
Infix & Inline Functions
Collections
Collections
Arrays
Lists
Sets
Maps
Collection Functions
Null Safety
Nullable Types
Standard Library
Scope Functions
Let, Apply, Run, Also, With
TakeIf & TakeUnless
Lazy Initialization
Exception Handling
Try-Catch-Finally
Custom Exceptions
Functional Programming
Higher-Order Functions
Extension Functions
Operator Overloading
Currying & Partial Application
Generics
Generic Functions
Type Constraints
Variance & Reified Types
Coroutines
Introduction
Coroutine Basics
Suspending Functions & Modifiers
Coroutine Builders Launch, Async, RunBlocking
Job Hirarchy
WithContext
Interview Q/A
Flows
Introduction and Basics
Flows operators
Context switching in Flows
Shared Flows in Kotlin
State Flows in Kotlin
Interview Q/A
File & IO
Read/Write Files
Streams
Serialization
Advanced
Reflection
Delegation
DSLs
Kotlin Multiplatform
Best Practices
Immutability
Idiomatic Kotlin
Clean Code Guidelines