Kotlin 有一个 '?' 运算符,可以用来处理可空类型。
fun f(nullable: String?) {
val nullable_length = nullable?.length;
val length_or_zero = nullable_length ?: 0;
val prefixed_nullable = nullable?.let {
"prefix_" + it
}
}
在这里,nullable_length
要么是整数,要么是 null。如果它是 null,则 length_or_zero
要么是字符串的长度,要么是 0
。根据它是否是 null,prefixed_nullable
要么是 null,要么是带有前缀的原字符串。
Clojure 中处理 nil
的这个功能的等价功能是什么?