в ULongs
Начиная с Kotlin: 2.4
inline fun <T> toULongs(action: (mostSignificantBits: ULong, leastSignificantBits: ULong) -> T): T
Выполняет указанный блок кода, предоставляя доступ к битам UUID в виде двух значений ULong.
Эта функция предназначена для случаев, когда необходимо выполнять побитовые операции с UUID. Например, чтобы определить, относится ли этот UUID к варианту IETF (вариант 2):
val isIetfVariant = uuid.toULongs { _, leastSignificantBits ->
(leastSignificantBits shr 62) == 2uL
}
Функция action получит два аргумента типа ULong:
mostSignificantBits: старшие 64 бита этого UUID, представленные в порядке байтов от старшего к младшему.leastSignificantBits: младшие 64 бита этого UUID, представленные в порядке байтов от старшего к младшему.
Например, для UUID 550e8400-e29b-41d4-a716-446655440000 он разбивается следующим образом:
mostSignificantBits = 0x550e8400e29b41d4uL.leastSignificantBits = 0xa716446655440000uL.
Возвращаемое значение
Результат выполнения action.
Параметры
Функция, принимающая два аргумента типа ULong (mostSignificantBits, leastSignificantBits). Гарантируется, что эта функция будет вызвана ровно один раз.
См. также
© 2010–2026 JetBrains s.r.o. and Kotlin Programming Language contributors
Licensed under the Apache License, Version 2.0.
https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.uuid/-uuid/to-u-longs.html