📜  Kotlin 中的“lateinit”变量

📅  最后修改于: 2022-05-13 01:55:15.352000             🧑  作者: Mango

Kotlin 中的“lateinit”变量

在 Kotlin 中,有一些标记不能用作命名变量等的标识符。这些标记称为关键字。简而言之,关键字是保留的,对编译器具有特殊意义,因此不能用作标识符。例如,

  • 作为
  • 休息
  • 班级
  • 继续
  • 后期初始化

“lateinit”关键字:

Kotlin 中的“lateinit”关键字,顾名思义,就是用来声明那些保证在未来被初始化的变量。

“lateinit”变量:

使用“lateinit”关键字声明的变量称为“lateinit”变量。

句法:

本文重点介绍如何检查“lateinit”变量是否已初始化。

如何检查“lateinit”变量是否已初始化?

在 Kotlin 1.2 版本中进行了一些更改,我们可以使用 isInitialized 方法检查“lateinit”变量是否已初始化。

句法:

返回值:

示例 1:

在下面的程序中,我们使用“lateinit”关键字声明了“myVariable”。在初始化之前,我们已经使用 isInitialized 方法检查了这个变量是否被初始化。后来我们将其初始化为“GFG”。现在我们再次检查这个变量是否被初始化。

Kotlin
// Kotlin program to demonstrate how to check
// whether lateinit variable is initialized or not
class GFG {
      
    // Declaring a lateinit variable of Int type
    lateinit var myVariable: String
    fun initializeName() {
            
        // Check using isInitialized method
        println("Is myVariable initialized? " + this::myVariable.isInitialized)
          
          // initializing myVariable
          myVariable = "GFG"
          
          // Check using isInitialized method
          println("Is myVariable initialized? " + this::myVariable.isInitialized)
    }
}
  
fun main(args: Array) {
      
    // Calling method
    GFG().initializeName()
}


Kotlin
// Kotlin program to demonstrate how to check
// whether lateinit variable is initialized or not
class GFG {
      
    // Declaring a lateinit variable
    lateinit var myVariable: String
    fun initializeName() {
            
        // Check using isInitialized method
        println("Is myVariable initialized? " + this::myVariable.isInitialized)
          
          // initializing myVariable
          myVariable = "GeeksforGeeks" 
          
          // Check using isInitialized method
          println("Is myVariable initialized? " + this::myVariable.isInitialized)
    }
}
  
fun main(args: Array) {
    
    // Calling method
    GFG().initializeName()
}


输出:

示例 2:

在下面的程序中,我们使用“lateinit”关键字声明了“myVariable”。在初始化之前,我们已经使用 isInitialized 方法检查了这个变量是否被初始化。后来我们将其初始化为“GeeksforGeeks”。现在我们再次检查这个变量是否被初始化。

科特林

// Kotlin program to demonstrate how to check
// whether lateinit variable is initialized or not
class GFG {
      
    // Declaring a lateinit variable
    lateinit var myVariable: String
    fun initializeName() {
            
        // Check using isInitialized method
        println("Is myVariable initialized? " + this::myVariable.isInitialized)
          
          // initializing myVariable
          myVariable = "GeeksforGeeks" 
          
          // Check using isInitialized method
          println("Is myVariable initialized? " + this::myVariable.isInitialized)
    }
}
  
fun main(args: Array) {
    
    // Calling method
    GFG().initializeName()
}

输出: