gpt4 book ai didi

android - Kotlin 组合多个 elvis 运算符

转载 作者:太空狗 更新时间:2023-10-29 13:47:56 25 4
gpt4 key购买 nike

我正在将 Firebase DataSnapshot (json) 对象解析为数据类。除了以下内容,我可以组合它们并在其中任何一个为空时返回吗?类似于 Swift 的 guard let ..., let ... else { return }

func parse(snapshot: DataSnapshot) {
val type = snapshot.child("type").value as? String ?: return
val unitType = UnitEnumType.values().firstOrNull { it.abbrv == type } ?: return
val imageUrl = snapshot.child("image_url").value as? String ?: return
...
}

最佳答案

你可以写

val (type, unitType, imageUrl) = Triple(
snapshot.child("type").value as? String ?: return,
UnitEnumType.values().firstOrNull { it.abbrv == "a" } ?: return,
snapshot.child("image_url").value as? String ?: return
)

但是,您不能在第二个表达式中引用type(第一个表达式的结果)。这是一个全有或全无的任务。

关于android - Kotlin 组合多个 elvis 运算符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51306647/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com