беззнаковые типы данных могут быть удобны для доступа к массиву.Обычно индексы в любом случае не подписаны.Но в настоящее время я не могу сделать это напрямую.Например, этот код.
val foo = 1.toUInt()
"foo"[foo]
не может быть скомпилирован с:
error: type mismatch: inferred type is UInt but Int was expected
Как лучше всего с этим справиться?Конечно, я мог бы сделать:
val foo = 1.toUInt()
"foo"[foo.toInt()]
но это как-то не так.Во всяком случае, UInt является встроенным классом и в любом случае стирается в Int - поэтому я думаю, что в этом нет необходимости.Кто-нибудь видел kotlin / KEEP для этого?Также интересно, как определить неподписанные константы.К сожалению, конструктор является закрытым, поэтому я не могу сделать, например,
const val foo = UInt(42)
и
const val foo = 42.toUInt()
не удается с 42.toUInt()
не является постоянным значением