我希望能够传递不确定类型的try! realm.write {
thisDiscount.percentage = "0.1" //updates this objects percent to 10%
}
,每个类型的类型为MyDataStruct
,将该数据作为其类型进行处理,并返回按顺序保留这些类型的列表清单。 / p>
我来自JavaScript / TypeScript背景,正在尝试学习Kotlin,所以这就是我遇到这个问题的原因。
dataList
答案 0 :(得分:1)
您可以为此使用vararg
声明:
fun myFunction(vararg dataList: MyDataStruct) {
// code can use dataList as an array / list of MyDataStruct
}
这可能与您在MyDataStruct
上指定的类型参数分开,但是您仍然可以使用when
子句处理对象中的不同值。
例如(假设您在数据结构中保留value属性):
for(myDataStruct in dataList) {
when (myDataStruct.value) {
is Int -> {/*do something with int*/}
is String -> {/*do something with string*/}
is Boolean -> {/*do something with boolean*/}
else -> {/*do something else*/}
}
}
最后,如果您有一个单行函数调用,则每个{}
语句中箭头后面的方括号(when
)是可选的。当前示例是一堆空的匿名函数,应编译但不做任何事情。如果需要对值是特定类型的值执行多行功能,则也需要使用这些括号。