Palabras clave duras
Los siguientes tokens siempre se interpretan como palabras clave y no se pueden utilizar como identificadores:
-
as
- se utiliza para tipos de yesos
- especifica un alias para una importación
-
as?
se utiliza para yesos de tipo seguro -
break
termina la ejecución de un bucle -
class
declara una clase -
continue
pasa al siguiente paso del bucle envolvente más cercano -
do
comienza un bucle do / while (bucle con poscondición) -
else
define la rama de una expresión if que se ejecuta cuando la condición es falsa -
false
especifica el valor ‘falso’ del tipo booleano -
for
comienza un bucle for -
fun
declara una función -
if
comienza una expresión if -
in
- especifica el objeto que se itera en un bucle for
- se usa como un operador infijo para verificar que un valor pertenece a un rango, una colección u otra entidad que define el método ‘contiene’
- se usa en cuando expresiones con el mismo propósito
- marca un parámetro de tipo como contravariante
-
!in
- se utiliza como operador para comprobar que un valor NO pertenece a un rango, una colección u otra entidad que define el método ‘contiene’
- se usa en cuando expresiones con el mismo propósito
-
interface
declara una interfaz -
is
- comprueba que un valor tiene un tipo determinado
- se usa en cuando expresiones con el mismo propósito
-
!is
- comprueba que un valor NO tiene un tipo determinado
- se usa en cuando expresiones con el mismo propósito
-
null
es una constante que representa una referencia de objeto que no apunta a ningún objeto -
object
declara una clase y su instancia al mismo tiempo -
package
especifica el paquete para el archivo actual -
return
regresa de la función adjunta más cercana o función anónima -
super
- se refiere a la implementación de superclase de un método o propiedad
- llama al constructor de superclase desde un constructor secundario
-
this
- se refiere al receptor actual
- llama a otro constructor de la misma clase desde un constructor secundario
-
throw
lanza una excepción -
true
especifica el valor ‘verdadero’ del tipo booleano -
try
comienza un bloque de manejo de excepciones -
typealias
declara un alias de tipo -
typeof
reservado para uso futuro -
val
declara una propiedad de solo lectura o una variable local -
var
declara una propiedad mutable o variable local -
when
comienza una expresión when (ejecuta una de las ramas dadas) -
while
comienza un ciclo while (ciclo con condición previa)
Palabras clave blandas
Los siguientes tokens actúan como palabras clave en el contexto cuando son aplicables y se pueden usar como identificadores en otros contextos:
-
by
- delega la implementación de una interfaz a otro objeto
- delega la implementación de descriptores de acceso para una propiedad a otro objeto
-
catch
comienza un bloque que maneja un tipo de excepción específico -
constructor
declara un constructor primario o secundario -
delegate
se utiliza como destino del sitio de uso de anotaciones -
dynamic
hace referencia a un tipo dinámico en el código Kotlin / JS -
field
se utiliza como destino de sitio de uso de anotaciones -
file
se utiliza como destino del sitio de uso de anotaciones -
finally
comienza un bloque que siempre se ejecuta cuando sale un bloque try -
get
- declara el captador de una propiedad
- se utiliza como destino de sitio de uso de anotaciones
-
import
importa una declaración de otro paquete al archivo actual -
init
comienza un bloque inicializador -
param
se utiliza como destino de sitio de uso de anotaciones -
property
se utiliza como destino del sitio de uso de anotaciones -
receiver
se utiliza como destino del sitio de uso de anotaciones -
set
- declara el colocador de una propiedad
- se utiliza como destino de sitio de uso de anotaciones
-
setparam
se utiliza como destino del sitio de uso de anotaciones -
where
especifica restricciones para un parámetro de tipo genérico
Palabras clave de modificadores
Los siguientes tokens actúan como palabras clave en listas de modificadores de declaraciones y se pueden usar como identificadores en otros contextos:
-
actual
denota una implementación específica de la plataforma en proyectos multiplataforma -
abstract
marca una clase o miembro como abstracto -
annotation
declara una clase de anotación -
companion
declara un objeto complementario -
const
marca una propiedad como una constante en tiempo de compilación -
crossinline
prohíbe los retornos no locales en una lambda pasada a una función en línea -
data
indica al compilador que genere miembros canónicos para una clase -
enum
declara una enumeración -
expect
marca una declaración como específica de la plataforma, esperando una implementación en los módulos de la plataforma. -
external
marca una declaración como implementada no en Kotlin (accesible a través de JNI o en JavaScript) -
final
prohíbe anular un miembro -
infix
permite llamar a una función en notación infija -
inline
le dice al compilador que inserte la función y las lambdas que se le pasan en el sitio de la llamada -
inner
permite hacer referencia a la instancia de clase externa desde una clase anidada -
internal
marca una declaración como visible en el módulo actual -
lateinit
permite inicializar una propiedad no nula fuera de un constructor -
noinline
desactiva la inserción de una lambda pasada a una función en línea -
open
permite subclasificar una clase o anular un miembro -
operator
marca una función como sobrecargar a un operador o implementar una convención -
out
marca un parámetro de tipo como covariante -
override
marca un miembro como anulación de un miembro de superclase -
private
marca una declaración como visible en la clase o archivo actual -
protected
marca una declaración como visible en la clase actual y sus subclases -
public
marca una declaración como visible en cualquier lugar -
reified
marca un parámetro de tipo de una función en línea como accesible en tiempo de ejecución -
sealed
declara una clase sellada (una clase con subclases restringidas) -
suspend
marca una función o lambda como suspendida (utilizable como una corrutina) -
tailrec
marca una función como recursiva de cola (permitiendo que el compilador reemplace la recursividad con la iteración) -
vararg
permite pasar un número variable de argumentos para un parámetro
Identificadores especiales
El compilador define los siguientes identificadores en contextos específicos y se pueden utilizar como identificadores regulares en otros contextos:
-
field
se usa dentro de un descriptor de acceso de propiedad para referirse al campo de respaldo de la propiedad -
it
se usa dentro de una lambda para referirse a su parámetro implícitamente
Operadores y símbolos especiales
Kotlin admite los siguientes operadores y símbolos especiales:
-
+
,-
,*
,/
,%
– operadores matemáticos-
*
también se usa para pasar una matriz a un parámetro vararg
-
-
=
- operador de asignación
- se utiliza para especificar valores predeterminados para los parámetros
-
+=
,-=
,*=
,/=
,%=
– operadores de asignación aumentada -
++
,--
– operadores de incremento y decremento -
&&
,||
,!
– operadores lógicos ‘y’, ‘o’, ‘no’ (para operaciones bit a bit, use las funciones infijas correspondientes) -
==
,!=
– operadores de igualdad (traducidos a llamadas deequals()
para tipos no primitivos) -
===
,!==
– operadores de igualdad referencial -
<
,>
,<=
,>=
– operadores de comparación (traducidos a llamadas decompareTo()
para tipos no primitivos) -
[
,]
– operador de acceso indexado (traducido a llamadas deget
yset
) -
!!
afirma que una expresión no es nula -
?.
realiza una llamada segura (llama a un método o accede a una propiedad si el receptor no es nulo) -
?:
toma el valor de la derecha si el valor de la izquierda es nulo (el operador de Elvis) -
::
crea una referencia de miembro o una referencia de clase -
..
crea un rango -
:
separa un nombre de un tipo en declaraciones -
?
marca un tipo como anulable -
->
- separa los parámetros y el cuerpo de una expresión lambda
- separa los parámetros y la declaración del tipo de retorno en un tipo de función
- separa la condición y el cuerpo de un cuando expresión rama
-
@
- introduce una anotación
- introduce o hace referencia a una etiqueta de bucle
- introduce o hace referencia a una etiqueta lambda
- hace referencia a una expresión ‘esto’ desde un ámbito externo
- hace referencia a una superclase externa
-
;
separa varias declaraciones en la misma línea -
$
hace referencia a una variable o expresión en una plantilla de cadena -
_
- sustituye un parámetro no utilizado en una expresión lambda
- sustituye un parámetro no utilizado en un declaración de desestructuración
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)