Brian Smith Chuquiruna Leon
PreguntaComo puedo declarar una variables sin inicializarla? Osea quiero asignarle un valor pero todavía mas adelante en el código.

Giuseppe Vetri
Existen tres formas para inicializar una variable mas adelante en el código
La primera opción es utilizando la propiedad lateinit var en la que tu asumes la responsabilidad de darle un valor esta variable, en caso de que olvides asignarle este valor, tendrás un error en tiempo de ejecución
lateinit var edad: Int
La segunda opción es volviendola nula desde un principio y asignandole un valor cuando lo tengas.
var edad : Int? = null
En este caso la variable será nula hasta que tu le asignes un nuevo valor.
La tercera opción es por inicialización perezosa (Lazy inicialization) en ingles. Este en concreto no es tu caso pero puede servirte en un futuro conocerlo, en este caso la variable se inicializa solo cuando se accede a ella por primera vez.
val nombreLazy: String by lazy { println("He sido ejecutado!") "Brian" } fun main() { println(lazyValue) println(lazyValue) }
Al corre este código podrás ver que el texto "he sido ejecutado!" se mostrará solo una vez en pantalla ya que solo ejecuta la inicialización la primera vez, en la segunda vez que se accede ya tiene el valor y accede directamente a el.
Espero que te haya servido, Puedes encontrar mas sobre lazy en la documentación de Kotlin

Enrique Aguilar
Creo que te refieres a inicializar una variable pero asignarle un valor luego, si es así seria con
private lateinit var nombre: String
Luego le asignas una valor en la parte del codigo que quieres y estas variables se declaran debajo de la clase para que tengas acceso desde cualquier parte de la misma y con private para que no se tenga acceso desde otra clase