НАЙКРАЩИЙ САЙТ ДЛЯ ВЕБ-РОЗРОБНИКІВ
Golang. Уроки для початківців

En

Go Цілі типи даних


Go Цілі типи даних

Цілі типи даних використовуються для зберігання цілих чисел без десяткових знаків, наприклад 35, -50 або 1345000.

Цілочисельний тип даних має дві категорії:

  • Цілі числа зі знаком - можуть зберігати як позитивні, так і негативні значення
  • Цілі числа без знака – можуть зберігатися лише невід’ємні значення

Порада: Типом за замовчуванням для цілого є int. Якщо ви не вкажете тип, тип буде int.


Цілі числа зі знаком

Цілі числа зі знаком, оголошені одним із ключових слів int, можуть зберігати як позитивні, так і негативні значення:

Приклад

package main
import ("fmt")

func main() {
  var x int = 500
  var y int = -4500
  fmt.Printf("Type: %T, value: %v", x, x)
  fmt.Printf("Type: %T, value: %v", y, y)
}
Спробуйте самі »

У Go є п’ять ключових слів/типів цілих чисел зі знаком:

Тип Розмір Діапазон
int Залежить від платформи:
32 біти в 32-бітних системах і
64 біти в 64-бітних системах
-2147483648 до 2147483647 у 32-розрядних системах і
-9223372036854775808 до 9223372036854775807 у 64-розрядних системах
int8 8 біт/1 байт -128 до 127
int16 16 біт/2 байт -32768 до 32767
int32 32 біт/4 байт -2147483648 до 2147483647
int64 64 біт/8 байт -9223372036854775808 до 9223372036854775807

Беззнакові цілі числа

Цілі числа без знака, оголошені одним із ключових слів uint, можуть зберігати лише невід’ємні значення:

Приклад

package main
import ("fmt")

func main() {
  var x uint = 500
  var y uint = 4500
  fmt.Printf("Type: %T, value: %v", x, x)
  fmt.Printf("Type: %T, value: %v", y, y)
}
Спробуйте самі »

У Go є п’ять ключових слів/типів беззнакових цілих чисел:

Тип Розмір Діапазон
uint Залежить від платформи:
32 біти в 32-бітних системах і
64 біти в 64-бітних системах
від 0 до 4294967295 у 32-бітних системах і
від 0 до 18446744073709551615 у 64-бітних системах
uint8 8 біт/1 байт 0 до 255
uint16 16 біт/2 байт 0 до 65535
uint32 32 біт/4 байт 0 до 4294967295
uint64 64 біт/8 байт 0 до 18446744073709551615

Який цілий тип використовувати?

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

Приклад

Цей приклад призведе до помилки, оскільки 1000 виходить за межі діапазону для int8 (який становить від -128 до 127):

package main
import ("fmt")

func main() {
  var x int8 = 1000
  fmt.Printf("Тип: %T, значення: %v", x, x)
}

Результат:

./prog.go:5:7: константа 1000 переповнює int8

Спробуйте самі »