如何使用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 })