Book Image

Programming Kotlin

Book Image

Programming Kotlin

Overview of this book

Quickly learn the fundamentals of the Kotlin language and see it in action on the web. Easy to follow and covering the full set of programming features, this book will get you fluent in Kotlin for Android.
Table of Contents (20 chapters)
Programming Kotlin
Credits
About the Authors
About the Reviewers
www.PacktPub.com
Customer Feedback
Preface

Nothing type


In Chapter 2, Kotlin Basics we briefly touched on the Kotlin type hierarchy. The notion of a Nothing type was mentioned: A type that is the subtype of all other types, in a similar vein to how Any is a superclass of all types. The idea of a Nothing type is nothing new (pun intended) for those who have used a functional language, such as Scala. For those who are new to the idea, we will cover why such a type is useful.

The first use case is to indicate that a function would never complete normally. What we mean by normally is that it is not expected to return a value. It may intentionally perform an infinite loop, only ending when the process or thread is killed, or it may only return by throwing an exception. For example, the error function defined in the Kotlin standard library has the following implementation:

    inline fun error(message: Any): Nothing = throw  IllegalStateException(message.toString())

The main use, however, is as a type parameter in variant types. If we have...