如何在 kotlin 中设置自定义 return 类型可为空

how to set custom return type nullable in kotlin

我创建了一个个人数据类型“email” 我怎样才能使这种类型的值可以为空。

例如

private lateinit var a: email?

fun makeEmailAddress(a: String): email? {
   // TODO
}

lateinit var 在后台使用 null 来表示未初始化的值,因此从程序的角度来看它们不能是可空类型。也就是说,这个限制通常不是问题,因为大多数时候使用 lateinit var 的目的是让您可以在延迟初始化的同时使用非空类型。

如果你需要一个可空的属性,你可以简单地删除lateinit修饰符并在声明它时将其初始化为null

private var a: Email? = null

对于函数声明,return 类型 Email? 应该可以:

fun makeEmailAddress(a: String): Email? {
   // return whatever you need here, either null or an Email instance
}

请注意,Kotlin 中的类型按照惯例是大写的,因此我建议您将 email 重命名为 Email(我在上面的示例代码中使用了大写版本)。