[日更][30]-Kotlin
2023-09-09 本文已影响0人
代码多哥
因为时间很短,所以内容不是很复杂,写一个有价值的小知识,主要是为了保持每日学习和写作的习惯,大作还是会写到相关的主题里面,尽量做到周更。敬请关注本人的主要作品集:
为了能够最大限度的保证文章的质量,日更主要采用翻译的方法来完成。本系列将主要翻译Kotlin官网的内容。具体的地址
https://kotlinlang.org/docs/home.html
二十九, 空安全-可空类型
Kotlin支持可为null的类型,这允许声明的类型可能会为null值。默认情况下,类型不允许接受null值。可为null的类型需要通过显式添加?来声明的,?在类型声明之后。
fun main() {
// neverNull has String type
var neverNull: String = "This can't be null"
// Throws a compiler error
neverNull = null
// nullable has nullable String type
var nullable: String? = "You can keep a null here"
// This is OK
nullable = null
// By default, null values aren't accepted
var inferredNonNull = "The compiler assumes non-null"
// Throws a compiler error
inferredNonNull = null
// notNull doesn't accept null values
fun strLength(notNull: String): Int {
return notNull.length
}
println(strLength(neverNull)) // 18
println(strLength(nullable)) // Throws a compiler error
}
译者注释:
- 不加?的类型 不能接受null值, 例如
name: String = null
编译会报错,这种复制需要使用可空类型 ,例如name: String? = null