Junior
Bir raqamni saqlash uchun qancha bayt kerak?
sobes.tech AI
AIdan javob
Go'da sonning saqlash o'lchami uning turiga bog'liq.
| Ma'lumot turi | O'lchami (bayt) | Qiymatlar diapazoni |
|---|---|---|
int |
Arxitekturaga bog'liq (32 yoki 64 bit) | Arxitekturaga bog'liq |
uint |
Arxitekturaga bog'liq (32 yoki 64 bit) | Arxitekturaga bog'liq |
int8 |
1 | -128 dan 127 gacha |
uint8 |
1 | 0 dan 255 gacha |
int16 |
2 | -32768 dan 32767 gacha |
uint16 |
2 | 0 dan 65535 gacha |
int32 |
4 | -2147483648 dan 2147483647 gacha |
uint32 |
4 | 0 dan 4294967295 gacha |
int64 |
8 | -9223372036854775808 dan 9223372036854775807 gacha |
uint64 |
8 | 0 dan 18446744073709551615 gacha |
float32 |
4 | Taxminan ±3.4e38 |
float64 |
8 | Taxminan ±1.8e308 |
complex64 |
8 | Ikkita float32 qiymati (haqiqiy va imaginativ qismi) |
complex128 |
16 | Ikkita float64 qiymati (haqiqiy va imaginativ qismi) |
byte |
1 | uint8 uchun sinonim |
rune |
4 | int32 uchun sinonim (Unicode kod nuqtasi) |
Ma'lum bir platformada tur o'lchamini aniqlash misoli:
import (
"fmt"
"unsafe"
)
func main() {
// `int` va `uint` o'lchami protsessor arxitekturasiga bog'liq
fmt.Printf("int o'lchami: %d bayt\n", unsafe.Sizeof(int(0)))
fmt.Printf("uint o'lchami: %d bayt\n", unsafe.Sizeof(uint(0)))
// Statik turlar o'lchamlari doimiy
fmt.Printf("int8 o'lchami: %d bayt\n", unsafe.Sizeof(int8(0)))
fmt.Printf("float64 o'lchami: %d bayt\n", unsafe.Sizeof(float64(0)))
}