Log In
Or create an account ->
Imperial Library
Home
About
News
Upload
Forum
Help
Login/SignUp
Index
Title Page
Table of Contents
Copyright
Section I: Programming Basics
Introduction
Why Kotlin?
Hello, World!
var & val
Data Types
Functions
if Expressions
String Templates
Number Types
Booleans
Repetition with while
Looping & Ranges
The in Keyword
Expressions & Statements
Summary 1
Section II: Introduction to Objects
Objects Everywhere
Creating Classes
Properties
Constructors
Constraining Visibility
Packages
Testing
Exceptions
Lists
Variable Argument Lists
Sets
Maps
Property Accessors
Summary 2
Section III: Usability
Extension Functions
Named & Default Arguments
Overloading
when Expressions
Enumerations
Data Classes
Destructuring Declarations
Nullable Types
Safe Calls & the Elvis Operator
Non-Null Assertions
Extensions for Nullable Types
Introduction to Generics
Extension Properties
break & continue
Section IV: Functional Programming
Lambdas
The Importance of Lambdas
Operations on Collections
Member References
Higher-Order Functions
Manipulating Lists
Building Maps
Sequences
Local Functions
Folding Lists
Recursion
Section V: Object-Oriented Programming
Interfaces
Complex Constructors
Secondary Constructors
Inheritance
Base Class Initialization
Abstract Classes
Upcasting
Polymorphism
Composition
Inheritance & Extensions
Class Delegation
Downcasting
Sealed Classes
Type Checking
Nested Classes
Objects
Inner Classes
Companion Objects
Section VI: Preventing Failure
Exception Handling
Check Instructions
The Nothing Type
Resource Cleanup
Logging
Unit Testing
Section VII: Power Tools
Extension Lambdas
Scope Functions
Creating Generics
Operator Overloading
Using Operators
Property Delegation
Property Delegation Tools
Lazy Initialization
Late Initialization
Appendices
Appendix A: AtomicTest
Appendix B: Java Interoperability
← Prev
Back
Next →
← Prev
Back
Next →