Keyword combinations and workers. This tokens are normally interpreted as keyword combinations and cannot be utilized for identifiers

Keyword combinations and workers. This tokens are normally interpreted as keyword combinations and cannot be utilized for identifiers

Rough key

course declares a category

accomplish starts a do/while circle (program with postcondition)

else specifies the department of an if expression that is definitely executed after the situation is bogus

false points out the ‘false’ worth of the Boolean type

determine the object are iterated in an about program

is employed as an infix manager to take a look that a benefits is assigned to a range, a collection and other enterprise that identifies the ‘contains’ way

is employed in if expressions for the same objective

marks a kind parameter as contravariant

can be used as an operator evaluate that an appreciate don’t fit in with a selection, a selection or other thing that specifies the ‘contains’ process

is used in when expression for the very same purpose

screen declares a software

is used in once expressions for similar goal

is utilized in as soon as expression for the same goal

null was a steady standing for a thing resource it doesn’t suggest any target

genuine specifies the ‘true’ value of the Boolean kinds

typealias declares a kind alias

typeof reserved for long-term need

val declares a read-only belongings or regional adjustable

var declares a mutable residential property or nearby varying

any time begins an any time concept (performs one of many given offices)

while starts a bit program (loop with precondition)

Smooth key

Below tokens become search phrases in the framework when they’re pertinent and may be used as identifiers some other contexts:

vibrant references a powerful enter in Kotlin/JS rule

benefits on your school keyword reports an inline lessons

Modifier combination of keywords

Listed here tokens work as combination of keywords in modifier records of conditions that can also be used as identifiers various other contexts:

genuine denotes a platform-specific application in multiplatform works

abstract markings a category or associate as theoretical

annotation reports an annotation classroom

partner declares a spouse subject

const scars a residential property as a compile-time continual

enum declares an enumeration

count scars a testimony as platform-specific, wanting an execution in program segments.

exterior spots a statement as executed not in Kotlin (available through JNI or in JavaScript)

infix let calling a features in infix notation

inner assists speaking about the exterior class case from a nested school

inner mark a declaration as obvious in the current component

out mark a kind parameter as covariant

override marks a member as an override of a superclass affiliate

market represents a testimony as apparent everywhere

reified markings a sort factor of an inline work as easily accessible at runtime

enclosed declares a closed lessons (a class with limited subclassing)

suspend spots a purpose or lambda as suspending (usable as a coroutine)

tailrec mark a work as tail-recursive (allowing the compiler to exchange recursion with iteration)

Particular identifiers

The below identifiers are characterized by compiler in specific contexts and certainly will be used as consistent identifiers in other contexts:

area is employed inside a property accessor to refer around the assistance niche for the land

Providers and particular emblems

Kotlin allows the following operators and unique representations:

&& , || , ! – rational ‘and’, ‘or’, ‘not’ workers (for bitwise businesses, need matching infix works)

== , != – equality providers (translated to telephone calls of equals() for non-primitive types)

, > , , >= – comparison providers (render to messages of compareTo() for non-primitive type)

[ , ] – listed availability manager (equated to messages of attain along with )

?. runs a secure telephone call (telephone calls a method or accesses a home if your recipient try non-null)

?: brings the right-hand value when left-hand advantage is actually null (the elvis operator)

: separates a reputation from a kind in declarations

? scratches a kind as nullable

classify the details and the entire body of a lambda phrase

separates the variables and repay type affirmation in a work kind

split the problem and the entire body of an once appearance side

highlights or records a hook name

introduces or references a lambda tag

; separates many statements on a single range

$ mention an adjustable or phrase in a series template

replacements an unused parameter in a lambda term

replacements an untouched parameter in a destructuring declaration