如何使用ByteArray.getOrElse
我不知道如何指定`ByteArray.getOrElse()函数的默认值。
我试过了:
myInt = dat.getOrElse(0, 0).toInt()
但编译器抱怨以下错误:
The integer literal does not conform to the expected type (Int) -> Byte
如何指定默认值?
第二个参数( defaultValue
)的预期types是(Int) -> Byte
,它是一个接受一个Int
并返回一个Byte
的lambda。
myInt = dat.getOrElse(index = 100, defaultValue = { i -> // use i to calcuate your Byte that should be returned... // or return a fixed value i * 1 // for example })
getOrElse
签名:
fun ByteArray.getOrElse( index: Int, defaultValue: (Int) -> Byte ): Byte
第二个参数是一个函数文字
myInt = dat.getOrElse(100, { /** what is there is no element 100*/ 0 })