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

Преобразование в int8 в Go используется для приведения числовых значений к 8-битному целому типу со знаком. Диапазон значений int8 составляет от -128 до 127. При преобразовании важно учитывать, что значения, выходящие за пределы этого диапазона, будут обрезаны по модулю 256 со знаком, что может привести к неожиданным результатам. Преобразование выполняется с помощью явного приведения типа int8(x), где x - значение, которое нужно преобразовать.

Синтаксис

goint8(value)

Пример

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

gopackage main

import "fmt"

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

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

go42

Пример

Давайте попробуем преобразовать число, превышающее максимальное значение int8:

gopackage main

import "fmt"

func main() {
  var num int = 200
  res := int8(num)
  fmt.Println(res)
}

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

go-56

Как видите, значение 200 выходит за пределы int8, поэтому происходит обрезание по модулю 256 со знаком. 200 - 256 = -56.

Пример

Давайте преобразуем отрицательное число, меньшее минимального значения int8:

gopackage main

import "fmt"

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

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

go56

Здесь также происходит обрезание по модулю 256 со знаком. -200 + 256 = 56.

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

  • функцию преобразование в int,
    которая приводит значения к базовому целочисленному типу
  • функцию преобразование в int16,
    которая приводит значения к 16-битному целому типу
  • функцию преобразование в uint8,
    которая приводит значения к 8-битному целому типу без знака
  • функцию strconv.ParseInt,
    которая преобразует строку в целое число с указанной разрядностью