Expert guidance and amazing examples from Kotlin core developers! It's everything you need to get up and running fast. Kotlin in Action, Second Edition takes you from language basics to building production-quality applications that take advantage of Kotlin's unique features. Discover how the language handles everything from statements and functions to classes and types, and the unique features that make Kotlin programming so seamless. In Kotlin in Action, Second Edition you will learn: 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