Сколько в памяти занимают реализации int32 и int64, какие у них предельные значения?

Этот вопрос проверяет понимание типов с фиксированным размером в Go и их свойств.

Короткий ответ

Тип int32 занимает 4 байта (32 бита) в памяти, а int64 — 8 байт (64 бита). Их предельные значения:

- Для int32: от -2,147,483,648 до 2,147,483,647.

- Для int64: от -9,223,372,036,854,775,808 до 9,223,372,036,854,775,807.

Длинный ответ

1. Размер и диапазон:

int32 (4 байта):

Диапазон: -2^31 до 2^31-1.

int64 (8 байт):

Диапазон: -2^63 до 2^63-1.

 

2. Пример использования:

package main

import (
    "fmt"
    "math"
)

func main() {
    fmt.Printf("Size of int32: %d bytes\n", 4)
    fmt.Printf("Max int32: %d, Min int32: %d\n", math.MaxInt32, math.MinInt32)

    fmt.Printf("Size of int64: %d bytes\n", 8)
    fmt.Printf("Max int64: %d, Min int64: %d\n", math.MaxInt64, math.MinInt64)
}

Вывод:

Size of int32: 4 bytes
Max int32: 2147483647, Min int32: -2147483648
Size of int64: 8 bytes
Max int64: 9223372036854775807, Min int64: -9223372036854775808

 

3. В каких случаях использовать:

- int32: Когда важна экономия памяти, например, для массивов или структур.

- int64: Для работы с большими числами, финансовыми расчетами или временными метками.

Уровень

  • Рейтинг:

    3

  • Сложность:

    6

Навыки

  • Golang

Ключевые слова

Подпишись на Golang Developer в телеграм