在 Kotlin 中使用 ULong 作为函数参数

Use ULong as function parameter in Kotlin

我可以在 Kotlin 的函数定义中使用 ULong 作为参数吗?

我的代码如下所示:

import androidx.compose.ui.graphics.Color

fun EColor(value: ULong) = Color(value)
val Red700 = EColor(0xffdd0d3c)

然后我得到一个错误看起来像:

Conversion of signed constants to unsigned ones is prohibited

如果我调用 val Red700 = Color(0xffdd0d3c),那么它工作正常。

我怎么会收到这个错误?

Kotlin 中有 unsigned literals。您可以通过添加 uU 后缀来编写它们:

val Red700 = EColor(0xffdd0d3cU)

您也可以拨打toULong:

val Red700 = EColor(0xffdd0d3c.toULong())