Programmer's Guide To Kotlin

 

 

 

Buy from:

USA and World     Amazon.com
Canada            Amazon.ca

UK                Amazon.co.uk
France            Amazon.fr
Germany           Amazon.de
Spain             Amazon.es
Italy             Amazon.it

India Amazon.in

  • Paperback: 194 pages

  • Publisher: I/O Press; 1 edition (September 7, 2017)

  • Language: English

  • ISBN-10: 1871962536

  • ISBN-13: 978-1871962536

  • Product Dimensions: 7.5 x 0.4 x 9.2 inches

This book introduces Kotlin to programmers. You don't have to be an expert Java programmer or expert in any other language, but you need to know the basics of programming and using objects. While Kotlin is similar to Java and you can pick up much of the language as you go along, a deeper understanding will enable you to create better and more robust programs. As with all languages there are some subtle areas where an understanding of how things work makes all the difference.

Contents

  1. What makes Kotlin Special
  2. The Basics: Variables, Primitive Types and Functions
  3. Control
  4. Strings and Arrays
  5. The Class & The Object
  6. Inheritance
  7. The Type Hierarchy
  8. Generics
  9. Collections, Iterators, Sequences & Ranges
  10. Advanced functions
  11. Anonymous, Lamdas & Inline Functions
  12. Data classes, enums and destructuring
  13. Exceptions, Annotations & Reflection
  14. Working with Java

About the Author 

Mike James is editor of I-Programmer.info, an online magazine written by programmers for programmers. He has a BSc in Physics, an MSc in Mathematics and a PhD in Computer Science. His programming career spans several generations of computer technology but he keeps his skills completely up to date. As an author he has published dozens of books and hundreds of print articles, a tradition he now continues online

Errata: 
page 102 

This is of type MyClassB. A function MyFunction2 that returns a MyClassA but is
otherwise identical, meaning that MyFunction1>MyFunction2 because MyFunction2
can be used anywhere MyFunction1 can.
In this case we have:
MyClassA>MyClassB
implies:
MyFunction1(return MyClassA)>MyFunction2(return MyClassB)

should be

This is of type MyClassB. A function MyFunction2 that returns a MyClassA but is
otherwise identical, meaning that MyFunction2>MyFunction1 because MyFunction1
can be used anywhere MyFunction2 can. 
In this case we have:
MyClassA>MyClassB
implies:
MyFunction2(return MyClassA)>MyFunction1(return MyClassB)

i.e. exchange 1 and 2.