- Kotlin statements and functions, and classes and types
- Functional programming on the JVM
- The Kotlin standard library and out-of-the-box features
- Writing clean and idiomatic code
- Combining Kotlin and Java
- Improve code reliability with null safety
- Domain-specific languages
- Kotlin coroutines and flows
- Mastering the kotlinx.coroutines library
Kotlin in Action, Second Edition is a complete guide to the Kotlin language written especially for readers familiar with Java or another OO language. Its authors--all core Kotlin language developers and Kotlin team members--share their unique insights, along with practical techniques and hands-on examples. This new second edition is fully updated to include the latest innovations, and it adds new chapters dedicated to coroutines, flows, and concurrency. Purchase of the print book includes a free eBook in PDF and ePub formats from Manning Publications. About the technology Kotlin is a low-hassle, high-productivity programming language flexible enough to handle any web, mobile, cloud, and enterprise application. Java developers will appreciate the simple syntax, intuitive type system, excellent tooling, and support for functional-style programming. Plus, since Kotlin runs on the JVM, it integrates seamlessly with existing Java code, libraries, and frameworks, including Spring and Android. About the book Kotlin in Action, Second Edition teaches you Kotlin techniques you can use for almost any type of application, from enterprise services to Android apps. The authors are all members of the Kotlin team, so you can trust that even the gnarly details are dead accurate. You'll start with Kotlin fundamentals, learning how the language handles everything from statements and functions to classes and types, and about its unique features that make Kotlin programming so seamless. As you progress through this masterful book, you'll get hands-on with the Kotlin standard library, functional programming in Kotlin, and advanced features such as generics and reflection. And this updated second edition now covers coroutines and structured concurrency to help you create efficient high-performance applications. What's inside
- Guidance from members of the Kotlin team
- Domain-specific languages
- Kotlin coroutines and flows
About the reader For readers familiar with Java or another OO language. About the author Sebastian Aigner is a Developer Advocate at JetBrains, and host of the Talking Kotlin podcast. Roman Elizarov was the lead designer of the Kotlin language. JetBrains Developer Advocate, Svetlana Isakova, was a member of the Kotlin compiler team. Dmitry Jemerov is one of Kotlin's initial developers. Table of Contents PART 1
1 Kotlin: What and why
2 Kotlin basics
3 Defining and calling functions
4 Classes, objects, and interfaces
5 Programming with lambdas
6 Working with collections and sequences
7 Working with nullable values
8 Basic types, collections, and arrays
PART 2
9 Operator overloading and other conventions
10 Higher-order functions: Lambdas as parameters and return values
11 Generics
12 Annotations and reflection
13 DSL construction
PART 3
14 Coroutines
15 Structured concurrency
16 Flows
17 Flow operators
18 Error handling and testing
APPENDIXES
A Building Kotlin projects
B Documenting Kotlin code
C The Kotlin ecosystem