Преобразование в uint64

Преобразование в тип uint64 в Go используется для получения беззнакового 64-битного целого числа. Этот тип может хранить значения от 0 до 18446744073709551615. Чаще всего преобразование выполняется явно с помощью синтаксиса приведения типов uint64(x). В первом аргументе мы передаем значение, которое нужно преобразовать, а результатом становится значение типа uint64. Важно помнить, что при преобразовании из чисел с плавающей точкой дробная часть отбрасывается, а при выходе за пределы допустимого диапазона происходит переполнение.

Синтаксис

gouint64(x)

Где x — значение, которое необходимо преобразовать в uint64.

Пример

Давайте преобразуем целое число типа int в uint64:

gopackage main

import "fmt"

func main() {
  var num int = 42
  res := uint64(num)
  fmt.Println(res)
}

Результат выполнения кода:

go42

Пример

Преобразуем отрицательное число типа int в uint64. Обратите внимание, что отрицательные значения преобразуются по правилам дополнения до двух:

gopackage main

import "fmt"

func main() {
  var num int = -1
  res := uint64(num)
  fmt.Println(res)
}

Результат выполнения кода:

go18446744073709551615

Пример

Преобразуем число с плавающей точкой типа float64 в uint64. Дробная часть будет отброшена:

gopackage main

import "fmt"

func main() {
  var num float64 = 123.789
  res := uint64(num)
  fmt.Println(res)
}

Результат выполнения кода:

go123

Пример

Преобразуем значение типа uint32 в uint64. Это безопасное преобразование, поскольку диапазон uint32 полностью помещается в uint64:

gopackage main

import "fmt"

func main() {
  var num uint32 = 42
  res := uint64(num)
  fmt.Println(res)
}

Результат выполнения кода:

go42

Смотрите также

  • функцию to-uint,
    которая преобразует значение в тип uint
  • функцию to-uint32,
    которая преобразует значение в тип uint32
  • функцию to-int64,
    которая преобразует значение в тип int64
  • функцию to-float64,
    которая преобразует значение в тип float64