Keywords and phrases and workers. Listed here tokens become keyword phrases in modifier records of conditions that can also be utilized for identifiers in other contexts:

Keywords and phrases and workers. Listed here tokens become keyword phrases in modifier records of conditions that can also be utilized for identifiers in other contexts:

Heavy keyword

Listed here tokens are always translated as search phrases and should not be used as identifiers:

course reports a category

manage starts a do/while hook (trap with postcondition)

otherwise identifies the part of an if manifestation which can be executed after the problem is actually bogus

bogus determine the ‘false’ worth of the Boolean sort

points out the object getting iterated in a for loop

is employed as an infix operator evaluate that an advantage belongs to a range, a selection and other organization that identifies the ‘contains’ approach

is used in as soon as expressions for a similar reason

marks a kind factor as contravariant

is used as an operator evaluate that a price cannot fit in with a range, a group and other enterprise that specifies the ‘contains’ strategy

is used in if construction for the same reason

screen declares a software

is used in if expression for the same reason

is employed in whenever expression for a similar reason

nothing happens to be a continual presenting a subject reference that doesn’t denote any object

accurate points out the ‘true’ property value the Boolean sort

typealias reports a sort alias

typeof reserved for upcoming incorporate

val declares a read-only land or local varying

var reports a mutable residential property or local adjustable

once starts an any time concept (performs one of many considering offices)

while starts ages cycle (trap with precondition)

Softer key words

In this article tokens work as keyword combinations through the situation while applicable and will be used as identifiers various other contexts:

compelling mention a vibrant enter in Kotlin/JS signal

advantage on your class keyword reports an inline school

Modifier search phrases

actual denotes a platform-specific application in multiplatform work

conceptual markings a class or manhood as conceptual

annotation declares an annotation lessons

friend declares a friend item

const mark home as a compile-time consistent

enum declares an enumeration

imagine markings a testimony as platform-specific, wanting an implementation in platform modules.

exterior spots an announcement as put in place definitely not in Kotlin (obtainable through JNI or even in JavaScript)

infix brings dialing a purpose in infix notation

inside lets speaking about the outside course circumstances from a nested type

inner marks a testimony as noticeable in the present section

out scars a type quantity as covariant

supersede mark a user as an override of a superclass representative

consumer scratches a declaration as obvious anyplace

reified spots a sort factor of an inline be accessible at runtime

secured declares a sealed classroom (a category with limited subclassing)

suspend scars a work or lambda as suspending (usable as a coroutine)

tailrec scars a function as tail-recursive (letting the compiler to replace recursion with version)

Specific identifiers

Below identifiers include defined because of the compiler in certain contexts might be utilized for regular identifiers in other contexts:

area is used inside a residential property accessor to refer into the supporting field regarding the property

Operators and particular representations

Kotlin supports the subsequent employees and specialized icons:

&& , || , ! – reasonable ‘and’, ‘or’, ‘not’ employees (for bitwise procedure, need matching infix options)

== , != – equivalence operators (equated to telephone calls of equals() for non-primitive sort)

, > , , >= – assessment providers (translated to telephone calls of compareTo() for non-primitive type)

[ , ] – indexed entry user (interpreted to calls of purchase and place )

?. works a secure telephone call (calls a way or accesses a home if your radio is definitely non-null)

?: brings the right-hand benefits when left-hand advantages are null (the elvis operator)

: sets apart a name from a kind in declarations

? represents a kind as nullable

classify the criteria and the body of a lambda concept

sets apart the boundaries and return means declaration in a feature kind

separates the problem and body of an if expression side

introduces or records a circle label

presents or records a lambda name

; divides a number of reports about the same range

$ recommendations a changeable or appearance in a chain template

replacements an empty parameter in a lambda manifestation

substitutes an empty factor in a destructuring announcement