Публикации - Go

Типы данных - Основные типы данных, однотипные - Числовые типы данных

Go поддерживает целочисленные значения, значения с плавающей запятой и комплексные числа в различных вариациях в зависимости от занимаемого ими объема памяти. Такой подход экономит память и вычислительное время. Целочисленные типы могут быть как со знаком, так и без знака.

Целочисленные типы

Ряд типов представляют целые числа:

  • int8: представляет целое число от -128 до 127 и занимает в памяти 1 байт (8 бит)

  • int16: представляет целое число от -32768 до 32767 и занимает в памяти 2 байта (16 бит)

  • int32: представляет целое число от -2147483648 до 2147483647 и занимает 4 байта (32 бита)

  • int64: представляет целое число от –9 223 372 036 854 775 808 до 9 223 372 036 854 775 807 и занимает 8 байт (64 бита)

  • uint8: представляет целое число от 0 до 255 и занимает 1 байт

  • uint16: представляет целое число от 0 до 65535 и занимает 2 байта

  • uint32: представляет целое число от 0 до 4294967295 и занимает 4 байта

  • uint64: представляет целое число от 0 до 18 446 744 073 709 551 615 и занимает 8 байт

  • byte: синоним типа uint8, представляет целое число от 0 до 255 и занимает 1 байт

  • rune: синоним типа int32, представляет целое число от -2147483648 до 2147483647 и занимает 4 байта

  • int: представляет целое число со знаком, которое в зависимости о платформы может занимать либо 4 байта, либо 8 байт. То есть соответствовать либо int32, либо int64.

  • uint: представляет целое беззнаковое число только без знака, которое, аналогично типу int, в зависимости о платформы может занимать либо 4 байта, либо 8 байт. То есть соответствовать либо uint32, либо uint64.

Здесь несложно запомнить, что есть типы со знаком (то есть которые могут быть отрицательными) и есть безнаковые положительные типы, которые начинаются на префикс u (uint32). Ну и также есть byte - синоним для uint8 и rune - синоним для int32.

Стоит отметить типы int и uint. Они имеют наиболее эффективный размер для определенной платформы (32 или 64 бита). Это наиболее используемый тип для представления целых чисел в программе. Причем различные компиляторы могут предоставлять различный размер для этих типов даже для одной и той же платформы.

Примеры определения переменных, которые представляют целочисленные типы:

var a int8 = -1
var b uint8 = 2
var c byte = 3  // byte - синоним типа uint8
var d int16 = -4
var f uint16 = 5
var g int32 = -6
var h rune = -7     // rune - синоним типа int32
var j uint32 = 8
var k int64 = -9
var l uint64 = 10
var m int = 102
var n uint = 105

Числа с плавающей точкой

Для представления дробных чисел есть два типа:

  • float32: представляет число с плавающей точкой от 1.4*10-45 до 3.4*1038(для положительных). Занимает в памяти 4 байта (32 бита)

  • float64: представляет число с плавающей точкой от 4.9*10-324 до 1.8*10308 (для положительных) и занимает 8 байт.

Тип float32 обеспечивает шесть десятичных цифр точности, в то время как точность, обеспечиваемая типом float64, составляет около 15 цифр

Примеры использования типов float32 и float64:

var f float32 = 18
var g float32 = 4.5
var d float64 = 0.23
var pi float64 = 3.14
var e float64 = 2.7

В качестве разделителя между целой и дробной частью применяется точка.

Комплексные числа

Существуют отдельные типы для представления комплексных чисел:

  • complex64: комплексное число, где вещественная и мнимая части представляют числа float32

  • complex128: комплексное число, где вещественная и мнимая части представляют числа float64

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

var f complex64 = 1+2i
var g complex128 = 4+3i

Количество комментариев: 0

Для того, чтобы оставить коментарий необходимо зарегистрироваться