cpp

Числа

Язык Go поддерживает следующие числовые типы данных:

  • целочисленные знаковые типы: int, int8, int16, int32, int64, rune;
  • целочисленные беззнаковые типы: uint, byte, uint8, uint16, uint32, uint64;
  • вещественные числа: float32 и float64;
  • комплексные числа: complex64 и complex128.

Диапазоны допустимых значений и размер указанных типов мы уже рассматривали в разд. 2.8. Если при объявлении переменной тип данных не указан, то:

  • если присваивается целочисленное значение, то типом будет int:
var x = 10
fmt.Printf("%T", x) // int
  • если присваивается вещественное значение, то типом будет float64:
var x = 10.5
fmt.Printf("%T", x) // float64
На заметку

Указание значений

Целочисленное значение задается в десятичной, двоичной, восьмеричной или шестнадцатеричной форме. Двоичные числа начинаются с комбинации символов 0b (или 0B) и могут содержать цифры 0 или 1. Восьмеричные числа начинаются с нуля или комбинации символов 0o и содержат цифры от 0 до 7. Шестнадцатеричные числа начинаются с комбинации символов 0x (или 0X) и могут содержать цифры от 0 до 9 и буквы от A до F (регистр букв не имеет значения). Двоичные, восьмеричные и шестнадцатеричные значения преобразуются в десятичное значение. Пример:

var x, y, z, k int
x = 119                     // Десятичное значение
y = 0b01110111              // Двоичное значение
z = 0o167                   // Восьмеричное значение
k = 0xFF                    // Шестнадцатеричное значение
fmt.Println(x)              // 119
fmt.Println(y)              // 119
fmt.Println(z)              // 119
fmt.Println(k)              // 255
fmt.Printf("%#b\n", y)      // 0b1110111
fmt.Printf("%O\n", z)       // 0o167
fmt.Printf("%#x\n", k)      // 0xff

Восьмеричное значение может также начинаться с 0:

var n int = 0167
fmt.Println(n)              // 119
fmt.Printf("%O\n", n)       // 0o167

В составе числового литерала можно использовать символ подчеркивания:

var x int = 1_000_000_000
fmt.Println(x) // 1000000000

Согласитесь, что так нагляднее виден порядок числа. Символ подчеркивания можно использовать не только для типа int, но и для других числовых типов.

Вещественное число может содержать точку и (или) экспоненту, начинающуюся с буквы E (регистр не имеет значения):

var x, y, z, k float64
x = 20.0
y = 12.1e5
z = .123
k = 47.E-5
fmt.Println(x)              // 20
fmt.Println(y)              // 1.21e+06
fmt.Println(z)              // 0.123
fmt.Println(k)              // 0.00047
fmt.Printf("%.5f\n", x)     // 20.00000
fmt.Printf("%e\n", y)       // 1.210000e+06
fmt.Printf("%.2f\n", z)     // 0.12
fmt.Printf("%g\n", k)       // 0.00047

Учебник Go (Golang)
Учебник Go (Golang) в формате PDF

Помощь сайту

ЮMoney (Yandex-деньги): 410011140483022

ПАО Сбербанк:
Счет: 40817810855006152256
Реквизиты банка:
Наименование: СЕВЕРО-ЗАПАДНЫЙ БАНК ПАО СБЕРБАНК
Корреспондентский счет: 30101810500000000653
БИК: 044030653
КПП: 784243001
ОКПО: 09171401
ОКОНХ: 96130
Скриншот реквизитов

cpp