Objectives
After completing this course, students will be able to:
- Understand Kotlin language fundamentals
- Create Kotlin Classes and Objects
- Write functions and lambdas in Kotlin
- Use Kotlin Generics
- Implement Concurrency with Coroutines
Duration
Three days
Outline for Introduction to Kotlin Training
Kotlin Overview
- History of Kotlin
- Kotlin compared to other languages
- Kotlin Features
- Running Kotlin
Variables and Data Types
- Numeric Types
- Literals
- Variables
- Type Conversions
Keywords and Operators
- Hard Keywords
- Soft Keywords
- Operators
Arrays and Strings
- Arrays
- Creating Arrays
- Array Methods
- Strings
- Escaped Strings
- Raw Strings
Loops and Conditionals
- Loops
- Ranges
- Conditionals
- If
- When
Null Safety
- Why Null Safety?
- Nullable References
- The Safe Call Operator
- The Elvis Operator
- The Not-Null Assertion Operator
- Safe Casts
Object Orientation
- Classes
- Inheritance
- Interfaces
- Access
- Data Classes
- Sealed Classes
Functions and Lambdas
- Functions
- Higher Order Functions
- Lambdas
- Extension Functions
More Functions
- Function Scope
- Infix Functions
- Operator Overloading
- Inline Functions
- Tail Recursion
- Scope Functions
Advanced Object Orientation
- Nested Classes
- Object Expressions
- Object Declarations
- Companion Objects
- Delegation
- Generics
Collections
- List
- Set
- Map
- Collection Transformations
Concurrency
- Threads
- Coroutines
Calling Java from Kotlin
- Calling Java from Kotlin
- Issues
Calling Kotlin from Java
- Java calling Kotlin
- Issues
Kotlin Domain Specifi Languages (DSLs)
- Domain Specifi Languages
- Lambdas
- Extension Functions
- DSL Markers