Integer
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!
