Преобразование в int8
Преобразование в int8 в Go используется для приведения числовых значений к 8-битному целому типу со знаком. Диапазон значений int8 составляет от -128 до 127. При преобразовании важно учитывать, что значения, выходящие за пределы этого диапазона, будут обрезаны по модулю 256 со знаком, что может привести к неожиданным результатам. Преобразование выполняется с помощью явного приведения типа int8(x), где x - значение, которое нужно преобразовать.
Синтаксис
int8(value)
Пример
Давайте преобразуем целое число в int8:
package main
import "fmt"
func main() {
var num int = 42
res := int8(num)
fmt.Println(res)
}
Результат выполнения кода:
42
Пример
Давайте попробуем преобразовать число, превышающее максимальное значение int8:
package main
import "fmt"
func main() {
var num int = 200
res := int8(num)
fmt.Println(res)
}
Результат выполнения кода:
-56
Как видите, значение 200 выходит за пределы int8, поэтому происходит обрезание по модулю 256 со знаком. 200 - 256 = -56.
Пример
Давайте преобразуем отрицательное число, меньшее минимального значения int8:
package main
import "fmt"
func main() {
var num int = -200
res := int8(num)
fmt.Println(res)
}
Результат выполнения кода:
56
Здесь также происходит обрезание по модулю 256 со знаком. -200 + 256 = 56.
Смотрите также
-
функцию
преобразование в int,
которая приводит значения к базовому целочисленному типу -
функцию
преобразование в int16,
которая приводит значения к 16-битному целому типу -
функцию
преобразование в uint8,
которая приводит значения к 8-битному целому типу без знака -
функцию
strconv.ParseInt,
которая преобразует строку в целое число с указанной разрядностью