Integer


ULASHISH

Go integer (butun son) ma’lumot tiplari

Integer (butun son) ma’lumot tiplari 35, -50 yoki 1345000 kabi kasr qismi bo‘lmagan butun sonlarni saqlash uchun ishlatiladi.

Integer ma’lumot tipi ikki toifaga bo‘linadi:

  • Ishorali butun sonlar (signed) — musbat qiymatlarni ham, manfiy qiymatlarni ham saqlashi mumkin
  • Ishorasiz butun sonlar (unsigned) — faqat manfiy bo‘lmagan qiymatlarni saqlashi mumkin

Maslahat: Butun sonlar uchun standart tip — int. Agar tipni ko‘rsatmasangiz, tip int bo‘ladi.


Ishorali butun sonlar (signed)

int kalit so‘zlaridan biri bilan e’lon qilinadigan ishorali butun sonlar musbat qiymatlarni ham, manfiy qiymatlarni ham saqlashi mumkin:

Misol

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) }
O‘zingiz sinab ko‘ring »

Go tilida ishorali butun sonlarning beshta kalit so‘zi/tipi bor:

Tip Hajmi Diapazon
int Platformaga bog‘liq:
32 bitli tizimlarda 32 bit va
64 bitli tizimlarda 64 bit
32 bitli tizimlarda -2147483648 dan 2147483647 gacha va
64 bitli tizimlarda -9223372036854775808 dan 9223372036854775807 gacha
int8 8 bit/1 bayt -128 dan 127 gacha
int16 16 bit/2 bayt -32768 dan 32767 gacha
int32 32 bit/4 bayt -2147483648 dan 2147483647 gacha
int64 64 bit/8 bayt -9223372036854775808 dan 9223372036854775807 gacha


Ishorasiz butun sonlar (unsigned)

uint kalit so‘zlaridan biri bilan e’lon qilinadigan ishorasiz butun sonlar faqat manfiy bo‘lmagan qiymatlarni saqlashi mumkin:

Misol

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) }
O‘zingiz sinab ko‘ring »

Go tilida ishorasiz butun sonlarning beshta kalit so‘zi/tipi bor:

Tip Hajmi Diapazon
uint Platformaga bog‘liq:
32 bitli tizimlarda 32 bit va
64 bitli tizimlarda 64 bit
32 bitli tizimlarda 0 dan 4294967295 gacha va
64 bitli tizimlarda 0 dan 18446744073709551615 gacha
uint8 8 bit/1 bayt 0 dan 255 gacha
uint16 16 bit/2 bayt 0 dan 65535 gacha
uint32 32 bit/4 bayt 0 dan 4294967295 gacha
uint64 64 bit/8 bayt 0 dan 18446744073709551615 gacha

Qaysi integer tipidan foydalanish kerak?

Qaysi integer tipini tanlash o‘zgaruvchi saqlashi kerak bo‘lgan qiymatga bog‘liq.

Misol

Ushbu misol xatoga olib keladi, chunki 1000 soni int8 diapazonidan (-128 dan 127 gacha) tashqarida:

package main import "fmt" func main() {   var x int8 = 1000   fmt.Printf("Type: %T, value: %v", x, x) }

Natija:

./prog.go:5:7: constant 1000 overflows int8

O‘zingiz sinab ko‘ring »

W3Schools Pathfinder

Yutuqlaringizni kuzating – bu bepul!