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
Спробуйте самі »